Ejemplo n.º 1
0
        public async Task <Response> EliminarCalculoNomina([FromBody] CalculoNomina CalculoNomina)
        {
            try
            {
                var respuesta = await db.CalculoNomina.Where(m => m.IdCalculoNomina == CalculoNomina.IdCalculoNomina).FirstOrDefaultAsync();

                if (respuesta == null)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.RegistroNoEncontrado,
                    });
                }
                db.CalculoNomina.Remove(respuesta);
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.BorradoNoSatisfactorio,
                });
            }
        }
        public async Task <IActionResult> ConceptoConjunto(string id)
        {
            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.RegistroNoExiste}"));
                }
                var tipoConjuntoEliminar = new CalculoNomina {
                    IdCalculoNomina = Convert.ToInt32(id)
                };

                var response = await apiServicio.EliminarAsync(tipoConjuntoEliminar, new Uri(WebApp.BaseAddress)
                                                               , "api/CalculoNomina/EliminarCalculoNomina");

                if (response.IsSuccess)
                {
                    return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
                }
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.BorradoNoSatisfactorio}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorEliminar}"));
            }
        }
Ejemplo n.º 3
0
        public async Task <Response> PostCalculoNomina([FromBody] CalculoNomina CalculoNomina)
        {
            try
            {
                if (!await Existe(CalculoNomina))
                {
                    db.CalculoNomina.Add(CalculoNomina);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = CalculoNomina,
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <IActionResult> MostrarExcelBase(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    if (HttpContext.Session.GetInt32(Constantes.IdCalculoNominaSession) != Convert.ToInt32(id))
                    {
                        HttpContext.Session.SetInt32(Constantes.IdCalculoNominaSession, Convert.ToInt32(id));
                    }
                    var calculoNomina = new CalculoNomina {
                        IdCalculoNomina = Convert.ToInt32(id)
                    };
                    var lista = await apiServicio.Listar <ReportadoNomina>(calculoNomina, new Uri(WebApp.BaseAddress)
                                                                           , "api/CalculoNomina/ListarReportados");

                    if (lista.Count == 0)
                    {
                        return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.NoExistenRegistros}"));
                    }
                    return(View(lista));
                }
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <IActionResult> LimpiarReportados(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var calculoNomina = new CalculoNomina {
                        IdCalculoNomina = Convert.ToInt32(id)
                    };
                    var response = await apiServicio.ObtenerElementoAsync1 <Response>(calculoNomina, new Uri(WebApp.BaseAddress)
                                                                                      , "api/CalculoNomina/LimpiarReportados");

                    if (response.IsSuccess)
                    {
                        return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
                    }
                    return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorEliminar}"));
                }
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}"));
            }
        }
        public async Task <IActionResult> Create(CalculoNomina CalculoNomina)
        {
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(CalculoNomina,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/CalculoNomina/InsertarCalculoNomina");

                if (response.IsSuccess)
                {
                    return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
                }

                this.TempData["Mensaje"] = $"{Mensaje.Error}|{response.Message}";
                await CargarComboxProcesoPeriodo();

                return(View(CalculoNomina));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
Ejemplo n.º 7
0
        public async Task <Response> ObtenerCalculoNomina([FromBody] CalculoNomina CalculoNomina)
        {
            try
            {
                var calculoNomina = await db.CalculoNomina.SingleOrDefaultAsync(m => m.IdCalculoNomina == CalculoNomina.IdCalculoNomina);

                if (calculoNomina == null)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.RegistroNoEncontrado,
                    });
                }

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio,
                    Resultado = calculoNomina,
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <IActionResult> Edit(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var CalculoNomina = new CalculoNomina {
                        IdCalculoNomina = Convert.ToInt32(id)
                    };
                    var respuesta = await apiServicio.ObtenerElementoAsync1 <Response>(CalculoNomina, new Uri(WebApp.BaseAddress),
                                                                                       "api/CalculoNomina/ObtenerCalculoNomina");

                    if (respuesta.IsSuccess)
                    {
                        var vista = JsonConvert.DeserializeObject <CalculoNomina>(respuesta.Resultado.ToString());
                        await CargarComboxProcesoPeriodo();

                        return(View(vista));
                    }
                }

                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
        public CalculoNomina ObtenerCalculoNomina()
        {
            var gastoPersonal = new CalculoNomina
            {
                IdCalculoNomina = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.IdCalculoNominaSession)),
            };

            return(gastoPersonal);
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Create(string mensaje)
        {
            await CargarComboxProcesos();

            var vista = new CalculoNomina {
                DecimoCuartoSueldo = "NINGUNO", DecimoTercerSueldo = false, EmpleadoActivo = true, Estado = 0, FechaNomina = DateTime.Today
            };

            return(View(vista));
        }
        public async Task <IActionResult> Create(string mensaje)
        {
            await CargarComboxProcesoPeriodo();

            var vista = new CalculoNomina {
                Automatico = false, Reportado = false, EmpleadoActivo = true, EmpleadoPasivo = false
            };

            return(View(vista));
        }
Ejemplo n.º 12
0
        public async Task <CalculoNomina> ObtenerCalculoNomina()
        {
            var calculoNomina = new CalculoNomina
            {
                IdCalculoNomina = Convert.ToInt32(HttpContext.Session.GetInt32(Constantes.IdCalculoNominaSession)),
                Descripcion     = HttpContext.Session.GetString(Constantes.DescripcionCalculoNominaSession),
            };

            return(calculoNomina);
        }
Ejemplo n.º 13
0
        public async Task <Response> CalcularDetalleNomina([FromBody] CalculoNomina calculoNomina)
        {
            var rowsAfected = db.Database
                              .ExecuteSqlCommand("sp_SalarioEmpleado @idCalculoNomina = {0}"
                                                 , calculoNomina.IdCalculoNomina);

            return(new Response {
                IsSuccess = true, Message = Convert.ToString(rowsAfected)
            });
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> CalcularDetalleNomina(int id)
        {
            var calculoNomina = new CalculoNomina {
                IdCalculoNomina = Convert.ToInt32(id)
            };
            var response = await apiServicio.ObtenerElementoAsync1 <Response>(calculoNomina, new Uri(WebApp.BaseAddress)
                                                                              , "api/CalculoNomina/CalcularDetalleNomina");

            return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
        }
Ejemplo n.º 15
0
        public async Task <Response> EditarCalculoNomina([FromBody] CalculoNomina CalculoNomina)
        {
            try
            {
                if (await Existe(CalculoNomina))
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }

                var CalculoNominaActualizar = await db.CalculoNomina.Where(x => x.IdCalculoNomina == CalculoNomina.IdCalculoNomina).FirstOrDefaultAsync();

                if (CalculoNominaActualizar == null)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                    });
                }
                CalculoNominaActualizar.Descripcion              = CalculoNomina.Descripcion;
                CalculoNominaActualizar.FechaNomina              = CalculoNomina.FechaNomina;
                CalculoNominaActualizar.FechaFinDecimoCuarto     = CalculoNomina.FechaFinDecimoCuarto;
                CalculoNominaActualizar.FechaFinDecimoTercero    = CalculoNomina.FechaFinDecimoTercero;
                CalculoNominaActualizar.FechaInicioDecimoCuarto  = CalculoNomina.FechaInicioDecimoCuarto;
                CalculoNominaActualizar.FechaInicioDecimoTercero = CalculoNomina.FechaInicioDecimoTercero;
                CalculoNominaActualizar.Estado             = CalculoNomina.Estado;
                CalculoNominaActualizar.IdProceso          = CalculoNomina.IdProceso;
                CalculoNominaActualizar.DecimoTercerSueldo = CalculoNomina.DecimoTercerSueldo;
                CalculoNominaActualizar.DecimoCuartoSueldo = CalculoNomina.DecimoCuartoSueldo;
                CalculoNominaActualizar.EmpleadoActivo     = CalculoNomina.EmpleadoActivo;
                db.CalculoNomina.Update(CalculoNominaActualizar);
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Resultado = CalculoNominaActualizar
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }
Ejemplo n.º 16
0
        private async Task <bool> Existe(CalculoNomina CalculoNomina)
        {
            var proceso = CalculoNomina.IdProceso;
            var CalculoNominarespuesta = await db.CalculoNomina.Where(p => p.IdProceso == proceso && p.Descripcion == CalculoNomina.Descripcion).FirstOrDefaultAsync();

            if (CalculoNominarespuesta == null || CalculoNominarespuesta.IdCalculoNomina == CalculoNomina.IdCalculoNomina)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Ejemplo n.º 17
0
        public ActionResult CalculoNomina(CalculoNomina CN)
        {
            var query = from activos in BD.Empleados
                        where activos.Estado == "Activo"
                        select activos;


            var Nomina = query.Sum(activos => activos.Salario);

            CN.MontoTotal = Nomina;
            BD.CalculoNominas.Add(CN);
            BD.SaveChanges();

            return(RedirectToAction("Enviado", "Mantenimiento", "Home"));
        }
Ejemplo n.º 18
0
        public IActionResult ReportesNomina(DateTime fechaNomina, int estado, string id, string descripcion, string decimocuarto, bool decimotercersueldo, DateTime FechaInicioDecimoTercero, DateTime FechaFinDecimoTercero, DateTime FechaInicioDecimoCuarto, DateTime FechaFinDecimoCuarto, string perocesoNomina)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(this.Redireccionar("CalculoNomina", "Index", $"{Mensaje.Aviso}|{"No se ha podido cargar la ventana de reportes por favor intente nuevamente, gracias..."}"));
            }

            var cn = new CalculoNomina {
                FechaNomina = fechaNomina, Estado = estado, IdCalculoNomina = Convert.ToInt32(id), Descripcion = descripcion, DecimoCuartoSueldo = decimocuarto, DecimoTercerSueldo = decimotercersueldo, FechaInicioDecimoTercero = FechaInicioDecimoTercero, FechaFinDecimoTercero = FechaFinDecimoTercero, FechaInicioDecimoCuarto = FechaInicioDecimoCuarto, FechaFinDecimoCuarto = FechaFinDecimoCuarto, ProcesoNomina = new ProcesoNomina {
                    Descripcion = perocesoNomina
                }
            };

            return(View(cn));
        }
        public async Task <IActionResult> MostrarExcel(CalculoNomina calculoNomina, List <IFormFile> files)
        {
            try
            {
                if (files.Count <= 0)
                {
                    return(this.Redireccionar("CalculoNomina", "ReportadoNomina", new { id = Convert.ToString(ObtenerCalculoNomina().IdCalculoNomina) }, $"{Mensaje.Error}|{Mensaje.SeleccionarFichero}"));
                }


                var file = await SubirFichero(files);

                var lista = await LeerExcel(file);

                if (lista.Count == 0)
                {
                    this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{Mensaje.ReportadoNoCumpleFormato}|{"45000"}";
                    return(View(lista));
                }
                var listaSalvar      = lista.Where(x => x.Valido == true).ToList();
                var reportadoRequest = new Response();
                if (listaSalvar.Count > 0)
                {
                    reportadoRequest = await apiServicio.InsertarAsync <Response>(listaSalvar, new Uri(WebApp.BaseAddress),
                                                                                  "api/ConceptoNomina/InsertarReportadoNomina");
                }

                var listaErrores = lista.Where(x => x.Valido == false).ToList();
                if (listaErrores.Count > 0)
                {
                    this.TempData["MensajeTimer"] = $"{Mensaje.Aviso}|{Mensaje.ReportadoConErrores}|{"12000"}";
                }
                else
                {
                    this.TempData["Mensaje"] = $"{Mensaje.Success}|{Mensaje.Satisfactorio}";
                }

                return(View(lista));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.SeleccionarFichero}"));
            }
        }
Ejemplo n.º 20
0
        public ActionResult InformeNomina(CalculoNomina CN, DateTime buscarNomina)
        {
            var query = from a in BD.CalculoNominas
                        where a.FechaNomina == buscarNomina
                        select a;

            if (query == null)
            {
                var query2 = from a in BD.CalculoNominas
                             select a;

                return(View(query2));
            }
            else
            {
                //CN.FechaNomina;
                return(View(query));
            }
        }
Ejemplo n.º 21
0
 public async Task <List <DiasLaboradosNomina> > ListarDiasLaborados([FromBody] CalculoNomina CalculoNomina)
 {
     try
     {
         return(await db.DiasLaboradosNomina.Where(x => x.IdCalculoNomina == CalculoNomina.IdCalculoNomina).
                Select(x => new DiasLaboradosNomina
         {
             CantidadDias = x.CantidadDias,
             Nombres = db.Persona.Where(y => y.Identificacion == x.IdentificacionEmpleado).FirstOrDefault().Nombres,
             Apellidos = db.Persona.Where(y => y.Identificacion == x.IdentificacionEmpleado).FirstOrDefault().Apellidos,
             IdentificacionEmpleado = x.IdentificacionEmpleado,
             IdCalculoNomina = x.IdCalculoNomina,
             IdDiasLaboradosNomina = x.IdDiasLaboradosNomina,
             IdEmpleado = x.IdEmpleado,
         }).ToListAsync());
     }
     catch (Exception ex)
     {
         return(new List <DiasLaboradosNomina>());
     }
 }
Ejemplo n.º 22
0
 public async Task <List <HorasExtrasNomina> > ListarHorasExtras([FromBody] CalculoNomina CalculoNomina)
 {
     try
     {
         return(await db.HorasExtrasNomina.Where(x => x.IdCalculoNomina == CalculoNomina.IdCalculoNomina).
                Select(x => new HorasExtrasNomina
         {
             CantidadHoras = x.CantidadHoras,
             Nombres = db.Persona.Where(y => y.Identificacion == x.IdentificacionEmpleado).FirstOrDefault().Nombres,
             Apellidos = db.Persona.Where(y => y.Identificacion == x.IdentificacionEmpleado).FirstOrDefault().Apellidos,
             EsExtraordinaria = x.EsExtraordinaria,
             IdentificacionEmpleado = x.IdentificacionEmpleado,
             IdHorasExtrasNomina = x.IdHorasExtrasNomina,
             EsCienPorciento = x.EsCienPorciento,
         }).ToListAsync());
     }
     catch (Exception ex)
     {
         return(new List <HorasExtrasNomina>());
     }
 }
Ejemplo n.º 23
0
 public async Task <List <ReportadoNomina> > ListarReportados([FromBody] CalculoNomina CalculoNomina)
 {
     try
     {
         return(await db.ReportadoNomina.Where(x => x.IdCalculoNomina == CalculoNomina.IdCalculoNomina)
                .Select(x => new ReportadoNomina
         {
             IdCalculoNomina = x.IdCalculoNomina,
             Cantidad = x.Cantidad,
             Importe = x.Importe,
             CodigoConcepto = x.CodigoConcepto,
             IdentificacionEmpleado = x.IdentificacionEmpleado,
             NombreEmpleado = x.NombreEmpleado,
             IdReportadoNomina = x.IdReportadoNomina,
             DescripcionConcepto = db.ConceptoNomina.Where(c => c.Codigo == x.CodigoConcepto).FirstOrDefault().Descripcion,
         }).ToListAsync());
     }
     catch (Exception)
     {
         return(new List <ReportadoNomina>());
     }
 }
Ejemplo n.º 24
0
        public async Task <Response> LimpiarDiasLaborados([FromBody] CalculoNomina calculoNomina)
        {
            try
            {
                var listadoBorrar = await db.DiasLaboradosNomina.Where(x => x.IdCalculoNomina == calculoNomina.IdCalculoNomina).ToListAsync();

                db.DiasLaboradosNomina.RemoveRange(listadoBorrar);
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                });
            }
        }
        public async Task <IActionResult> ReportadoNomina(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    if (HttpContext.Session.GetInt32(Constantes.IdCalculoNominaSession) != Convert.ToInt32(id))
                    {
                        HttpContext.Session.SetInt32(Constantes.IdCalculoNominaSession, Convert.ToInt32(id));
                    }
                    var CalculoNomina = new CalculoNomina {
                        IdCalculoNomina = ObtenerCalculoNomina().IdCalculoNomina
                    };
                    return(View(CalculoNomina));
                }

                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
Ejemplo n.º 26
0
        public async Task <IActionResult> Edit(CalculoNomina CalculoNomina)
        {
            Response response = new Response();

            try
            {
                response = await apiServicio.EditarAsync <Response>(CalculoNomina, new Uri(WebApp.BaseAddress),
                                                                    "api/CalculoNomina/EditarCalculoNomina");

                if (response.IsSuccess)
                {
                    return(this.Redireccionar("CalculoNomina", "Detalle", new { id = ObtenerCalculoNomina().Result.IdCalculoNomina }, $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
                }
                this.TempData["Mensaje"] = $"{Mensaje.Error}|{response.Message}";
                await CargarComboxProcesos();

                return(View(CalculoNomina));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> Detalle(int id)
        {
            try
            {
                if (HttpContext.Session.GetInt32(Constantes.IdCalculoNominaSession) != id)
                {
                    HttpContext.Session.SetInt32(Constantes.IdCalculoNominaSession, id);

                    var calculoNomina = new CalculoNomina {
                        IdCalculoNomina = id
                    };

                    var calculoRespuesta = await apiServicio.ObtenerElementoAsync1 <Response>(calculoNomina, new Uri(WebApp.BaseAddress),
                                                                                              "api/CalculoNomina/ObtenerCalculoNomina");

                    var calculoRespuestaD = JsonConvert.DeserializeObject <CalculoNomina>(calculoRespuesta.Resultado.ToString());

                    HttpContext.Session.SetString(Constantes.DescripcionCalculoNominaSession, calculoRespuestaD.Descripcion);
                }
                var respuesta = await apiServicio.ObtenerElementoAsync1 <Response>(await ObtenerCalculoNomina(), new Uri(WebApp.BaseAddress),
                                                                                   "api/CalculoNomina/ObtenerCalculoNomina");

                if (respuesta.IsSuccess)
                {
                    var vista = JsonConvert.DeserializeObject <CalculoNomina>(respuesta.Resultado.ToString());
                    await CargarComboxProcesos();

                    return(View(vista));
                }

                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
Ejemplo n.º 28
0
        private async Task <List <ReportadoNomina> > ListarReportadoNomina(CalculoNomina calculoNomina)
        {
            var listaReportado = await db.ReportadoNomina.Where(x => x.IdCalculoNomina == calculoNomina.IdCalculoNomina).ToListAsync();

            return(listaReportado);
        }
Ejemplo n.º 29
0
        private async Task <CalculoNomina> ObtenerCalculoNominaDetalle(CalculoNomina calculoNomina)
        {
            var calculoNominaRequest = await db.CalculoNomina.Where(x => x.IdCalculoNomina == calculoNomina.IdCalculoNomina).Include(y => y.ProcesoNomina).ThenInclude(y => y.ConceptoNomina).FirstOrDefaultAsync();

            return(calculoNominaRequest);
        }