//metodo para insertar o actualizar
        public tbl_registro_pago SaveRegistro()
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    this.estado = "A";
                    if (this.id_registro_pago > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;
                    }

                    ctx.SaveChanges();

                    rm.SetResponse(true);
                }
            }
            catch (Exception e)
            {
                rm.SetResponse(false, "no se ha podido insertar el registro");
            }

            return(this);
        }
Beispiel #2
0
        //metodo para obtener tipo empleado por id
        public DtoAbono ObtenerPrestamoId(int id, string planilla)
        {
            var abono = new DtoAbono();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    abono = (from a in ctx.tbl_abono
                             join p in ctx.tbl_prestamo on a.id_prestamo equals p.id_prestamo
                             join e in ctx.tbl_empleado on p.id_empleado equals e.id_empleado
                             join r in ctx.tbl_registro_pago on e.id_empleado equals r.id_empleado
                             where r.num_planilla == planilla &&
                             r.estado == "A"
                             select new
                    {
                        id_abono = a.id_abono,
                        monto = a.monto,
                        detalle = a.detalle
                    }
                             ).Select(x => new DtoAbono
                    {
                        id_abono = x.id_abono,
                        monto    = x.monto,
                        detalle  = x.detalle
                    }).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(abono);
        }
Beispiel #3
0
        //Login de usuario
        public ResponseModel Acceder(string email, string contraseña)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    contraseña = HashHelper.SHA256(contraseña);

                    var user = ctx.tbl_usuario.Where(x => x.correo == email || x.nombre_usuario == email)
                               .Where(x => x.contraseña == contraseña)
                               .Where(x => x.estado == "A")
                               .SingleOrDefault();
                    if (user != null)
                    {
                        SessionHelper.AddUserToSession(user.id_usuario.ToString());
                        rm.SetResponse(true);
                    }
                    else
                    {
                        rm.SetResponse(false, "Usuario y/o contraseña incorrecta");
                    }
                }
            }catch (Exception e)
            {
                throw e;
            }

            return(rm);
        }
Beispiel #4
0
        //metodo para insertar o actualizar
        public ResponseModel SaveVacacion()
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    this.estado = "A";
                    if (this.id_vacacion > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;
                    }

                    ctx.SaveChanges();

                    rm.SetResponse(true);
                }
            }
            catch (Exception e)
            {
                rm.SetResponse(false, "no se ha podido insertar las vacaciones");
            }

            return(rm);
        }
Beispiel #5
0
        public List <ResumenPlanillaDto> ResumenPlanillas()
        {
            var resumen = new List <ResumenPlanillaDto>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    resumen = (from r in ctx.tbl_registro_pago
                               group r by new { r.num_planilla } into grouping
                               orderby grouping.Key.num_planilla
                               select new ResumenPlanillaDto
                    {
                        num_planilla = grouping.Key.num_planilla,
                        total = ctx.tbl_registro_pago.Sum(x => x.total)
                    }).ToList();
                }
            }
            catch
            {
                throw;
            }

            return(resumen);
        }
Beispiel #6
0
        //metodo para listar
        public AnexGRIDResponde Listar(AnexGRID agrid)
        {
            try
            {
                using (var ctx = new MaximaContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;
                    agrid.Inicializar();

                    var query = ctx.tbl_sancion.Where(x => x.id_sancion > 0).Where(x => x.estado == "A");

                    // Ordenar
                    if (agrid.columna == "id")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_sancion)
                                                        : query.OrderBy(x => x.id_sancion);
                    }

                    if (agrid.columna == "nombre")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.nombre_sancion)
                                                        : query.OrderBy(x => x.nombre_sancion);
                    }


                    if (agrid.columna == "detalle")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.detalle)
                                                        : query.OrderBy(x => x.detalle);
                    }

                    if (agrid.columna == "monto")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.monto)
                                                        : query.OrderBy(x => x.monto);
                    }



                    var sanciones = query.Skip(agrid.pagina)
                                    .Take(agrid.limite)
                                    .ToList();

                    var total = query.Count();

                    agrid.SetData(sanciones, total);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(agrid.responde());
        }
Beispiel #7
0
        //metodo para listar
        public AnexGRIDResponde Listar(AnexGRID agrid)
        {
            try
            {
                using (var ctx = new MaximaContext())
                {
                    agrid.Inicializar();

                    var query = ctx.tbl_tipo_prestacion.Where(x => x.id_tipo > 0).Where(x => x.estado == "A");

                    // Ordenar
                    if (agrid.columna == "id")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_tipo)
                                                        : query.OrderBy(x => x.id_tipo);
                    }

                    if (agrid.columna == "prestacion")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.prestacion)
                                                        : query.OrderBy(x => x.prestacion);
                    }

                    if (agrid.columna == "detalle_prestacion")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.detalle_prestacion)
                                                        : query.OrderBy(x => x.detalle_prestacion);
                    }


                    var tipo_prestacion = query.Skip(agrid.pagina)
                                          .Take(agrid.limite)
                                          .ToList();

                    agrid.SetData(
                        from e in tipo_prestacion
                        select new
                    {
                        e.id_tipo,
                        e.prestacion,
                        e.detalle_prestacion
                    }
                        ,
                        query.Count()
                        );
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(agrid.responde());
        }
        //metodo para listar
        public AnexGRIDResponde Listar(AnexGRID agrid)
        {
            try
            {
                using (var ctx = new MaximaContext())
                {
                    agrid.Inicializar();

                    var query = ctx.tbl_prestamo.Where(x => x.id_prestamo > 0).Where(x => x.estado == "A");

                    // Ordenar
                    if (agrid.columna == "id")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_prestamo)
                                                        : query.OrderBy(x => x.id_prestamo);
                    }

                    if (agrid.columna == "id_empleado")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_empleado)
                                                        : query.OrderBy(x => x.id_empleado);
                    }

                    if (agrid.columna == "monto")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.monto)
                                                        : query.OrderBy(x => x.monto);
                    }
                    if (agrid.columna == "detalle")
                    {
                        query = agrid.columna_orden == "DESC"
                                    ? query.OrderByDescending(x => x.detalle)
                                    : query.OrderBy(x => x.detalle);
                    }


                    var prestamos = query.Skip(agrid.pagina)
                                    .Take(agrid.limite)
                                    .ToList();

                    var total = query.Count();

                    agrid.SetData(prestamos, total);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(agrid.responde());
        }
        //obtener info para la boleta



        //funcion para
        public DtoEmpleado Obtener(int id)
        {
            var empleado = new DtoEmpleado();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    empleado = (
                        from p in ctx.tbl_empleado
                        join c in ctx.tbl_cargo on p.id_cargo equals c.id_cargo
                        join e in ctx.tbl_estacion on p.id_estacion equals e.id_estacion
                        where p.id_empleado == id
                        select new
                    {
                        id_empleado = p.id_empleado,
                        id_cargo = p.id_cargo,
                        id_estacion = p.id_estacion,
                        nombres = p.primer_nombre + " " + p.segundo_nombre,
                        apellidos = p.primer_apellido + " " + p.segundo_apellido,
                        nit = p.nit,
                        correo = p.correo,
                        telefono = p.telefono,
                        direccion = p.direccion,
                        fecha_nac = p.fecha_nac,
                        cargo = c.nombre_cargo,
                        estacion = e.nombre_estacion,
                        sueldo = c.sueldo
                    }
                        ).Select(x => new DtoEmpleado
                    {
                        id_empleado = x.id_empleado,
                        id_cargo    = x.id_cargo,
                        id_estacion = x.id_estacion,
                        nombres     = x.nombres,
                        apellidos   = x.apellidos,
                        nit         = x.nit,
                        correo      = x.correo,
                        telefono    = x.telefono,
                        direccion   = x.direccion,
                        fecha_nac   = x.fecha_nac,
                        cargo       = x.cargo,
                        estacion    = x.estacion,
                        suelgo      = x.sueldo
                    }).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(empleado);
        }
Beispiel #10
0
        //listar todos tipo de prestaciones
        public List <tbl_tipo_prestacion> GetAll()
        {
            var list = new List <tbl_tipo_prestacion>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    list = ctx.tbl_tipo_prestacion.Where(x => x.estado == "A").ToList();
                }
            }
            catch
            {
            }
            return(list);
        }
Beispiel #11
0
        //obtener datos empleado a listar
        public List <tbl_empleado> GetAll()
        {
            var list = new List <tbl_empleado>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    list = ctx.tbl_empleado.Where(x => x.estado == "A").ToList();
                }
            }catch (Exception e)
            {
                throw;
            }

            return(list);
        }
Beispiel #12
0
        //metodo para obtener cargo por id
        public tbl_cargo ObtenerPorId(int id)
        {
            var cargo = new tbl_cargo();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    cargo = ctx.tbl_cargo.Where(x => x.id_cargo == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(cargo);
        }
        //metodo para obtener tipo permisos por id
        public tbl_tipo_permiso ObtenerPorId(int id)
        {
            var tipo_permiso = new tbl_tipo_permiso();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    tipo_permiso = ctx.tbl_tipo_permiso.Where(x => x.id_tipo_permiso == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(tipo_permiso);
        }
Beispiel #14
0
        //metodo para obtener empleado por id
        public tbl_empleado ObtenerPorId(int id)
        {
            var empleado = new tbl_empleado();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    empleado = ctx.tbl_empleado.Where(x => x.id_empleado == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(empleado);
        }
Beispiel #15
0
        //metodo para obtener prestamos
        public tbl_prestamo ObtenerPorId(int id)
        {
            var prestamo = new tbl_prestamo();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    prestamo = ctx.tbl_prestamo.Where(x => x.id_prestamo == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(prestamo);
        }
Beispiel #16
0
        public List <tbl_planilla> ListarPlanilla()
        {
            var list = new List <tbl_planilla>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    list = ctx.tbl_planilla.ToList();
                }
            }catch (Exception e)
            {
                throw e;
            }

            return(list);
        }
Beispiel #17
0
        //metodo para obtener tipo empleado por id
        public List <tbl_vacacion> ObtenerEmpleadoId(int id)
        {
            var vacacion = new List <tbl_vacacion>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    vacacion = ctx.tbl_vacacion.Where(x => x.id_empleado == id).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(vacacion);
        }
Beispiel #18
0
        //metodo para obtener empleado por id
        public tbl_vacacion ObtenerPorId(int id)
        {
            var vacacion = new tbl_vacacion();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    vacacion = ctx.tbl_vacacion.Where(x => x.id_vacacion == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(vacacion);
        }
        public tbl_registro_pago ObtenerPorId(int id)
        {
            var registro = new tbl_registro_pago();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    registro = ctx.tbl_registro_pago.Where(x => x.estado == "A" && x.id_registro_pago == id).SingleOrDefault();
                }
            }
            catch
            {
            }

            return(registro);
        }
Beispiel #20
0
        //metodo para obtener tipo empleado por id
        public List <tbl_anticipo> ObtenerEmpleadoId(int id)
        {
            var anticipo = new List <tbl_anticipo>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    anticipo = ctx.tbl_anticipo.Where(x => x.id_empleado == id).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(anticipo);
        }
Beispiel #21
0
        //metodo para obtener planilla por id
        public tbl_planilla ObtenerPlanilla()
        {
            var planilla = new tbl_planilla();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;
                    planilla = ctx.tbl_planilla.Where(x => x.cerrada == 0).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(planilla);
        }
Beispiel #22
0
        //listar todos las estaciones
        public List <tbl_estacion> Listar()
        {
            var list = new List <tbl_estacion>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    list = ctx.tbl_estacion.Where(x => x.estado == "A").ToList();
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(list);
        }
Beispiel #23
0
        //obtener usuario por Id
        public tbl_usuario ObtenerUsuario(int id)
        {
            var usuario = new tbl_usuario();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    usuario = ctx.tbl_usuario.Where(x => x.id_usuario == id).SingleOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(usuario);
        }
Beispiel #24
0
        //resumen empleados
        public List <ResumenEmpleadoDto> ListarEmpleados()
        {
            var list = new List <ResumenEmpleadoDto>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    list = (from e in ctx.tbl_empleado
                            join c in ctx.tbl_cargo on e.id_cargo equals c.id_cargo
                            join es in ctx.tbl_estacion on e.id_estacion equals es.id_estacion
                            join p in ctx.tbl_prestamo
                            on e.id_empleado equals p.id_empleado into prestamo
                            from pre in prestamo.DefaultIfEmpty()
                            join a in ctx.tbl_anticipo on e.id_estacion equals a.id_empleado into anticipo
                            from ant in anticipo.DefaultIfEmpty()
                            join s in ctx.tbl_sancion on e.id_empleado equals s.id_empleado into sanscion
                            from sans in sanscion.DefaultIfEmpty()
                            select new
                    {
                        empleado = e.primer_nombre + " " + e.primer_apellido,
                        cargo = c.nombre_cargo,
                        estacion = es.nombre_estacion,
                        prestamo = ctx.tbl_prestamo.Count(x => x.id_empleado == e.id_empleado),
                        anticipo = ctx.tbl_anticipo.Count(x => x.id_empleado == e.id_empleado),
                        sancion = ctx.tbl_sancion.Count(x => x.id_empleado == e.id_empleado)
                    }).Select(x => new ResumenEmpleadoDto {
                        empleado  = x.empleado,
                        cargo     = x.cargo,
                        estacion  = x.estacion,
                        anticipos = x.anticipo,
                        sanciones = x.sancion,
                        prestamos = x.prestamo,
                    }).ToList();
                }
            }catch (Exception e)
            {
                throw;
            }

            return(list);
        }
Beispiel #25
0
        //lista de planilla
        public List <ResumenPlanillaNumDto> ListarPlanillaNum(string num_pla)
        {
            var resumen = new List <ResumenPlanillaNumDto>();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    resumen = (from r in ctx.tbl_registro_pago
                               join p in ctx.tbl_empleado on r.id_empleado equals p.id_empleado
                               join c in ctx.tbl_cargo on p.id_cargo equals c.id_cargo
                               join e in ctx.tbl_estacion on p.id_estacion equals e.id_estacion
                               join es in ctx.tbl_estacion on e.id_estacion equals es.id_estacion
                               where r.num_planilla == num_pla
                               select new
                    {
                        recibo = r.no_recibo,
                        num_pla = r.num_planilla,
                        empleado = p.primer_nombre + " " + p.primer_apellido,
                        cargo = c.nombre_cargo,
                        total_empleado = r.total,
                        estacion = es.nombre_estacion,
                        total = ctx.tbl_registro_pago.Where(x => x.num_planilla == num_pla).Sum(x => x.total)
                    }).Select(x => new ResumenPlanillaNumDto {
                        no_recibo      = x.recibo,
                        num_planilla   = x.num_pla,
                        empleado       = x.empleado,
                        cargo          = x.cargo,
                        total_empleado = x.total_empleado,
                        estacion       = x.estacion,
                        total          = x.total
                    }).ToList();
                }
            }
            catch
            {
                throw;
            }

            return(resumen);
        }
Beispiel #26
0
        //metodo para elimiar un cargo a nivel logico
        public ResponseModel EliminarVacacion(int id)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    var vacacion = ctx.tbl_vacacion.Where(x => x.id_vacacion == id).SingleOrDefault();
                    vacacion.estado = "I";

                    ctx.Entry(vacacion).State = EntityState.Modified;
                    ctx.SaveChanges();
                    rm.SetResponse(true);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(rm);
        }
        //metodo para elimiar un cargo a nivel logico
        public ResponseModel CierrePlanilla(string num_planilla)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    var planilla = ctx.tbl_planilla.Where(x => x.num_planilla == num_planilla).SingleOrDefault();
                    planilla.cerrada = 1;

                    ctx.Entry(planilla).State = EntityState.Modified;
                    ctx.SaveChanges();
                    rm.SetResponse(true);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(rm);
        }
        //metodo para elimiar un cargo a nivel logico
        public ResponseModel EliminarRegistro(int id)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new MaximaContext())
                {
                    var registro = ctx.tbl_registro_pago.Where(x => x.id_registro_pago == id).SingleOrDefault();
                    registro.estado = "I";

                    ctx.Entry(registro).State = EntityState.Modified;
                    ctx.SaveChanges();
                    rm.SetResponse(true);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(rm);
        }
        //metodo para listar
        public AnexGRIDResponde Listar(AnexGRID agrid)
        {
            try
            {
                using (var ctx = new MaximaContext())
                {
                    agrid.Inicializar();
                    ctx.Configuration.LazyLoadingEnabled = false;

                    var query = (

                        from r in ctx.tbl_registro_pago join
                        e in ctx.tbl_empleado on r.id_empleado equals e.id_empleado
                        join p in ctx.tbl_planilla on r.num_planilla equals p.num_planilla
                        where r.id_registro_pago > 0 &&
                        r.estado == "A" &&
                        p.cerrada == 0
                        select new
                    {
                        id_registro_pago = r.id_registro_pago,
                        id_empleado = r.id_empleado,
                        num_planilla = r.num_planilla,
                        total = r.total,
                        empleado = e.primer_nombre + " " + e.primer_apellido,
                        faltante = r.faltante,
                        cierre = r.cierre
                    }).Select(x => new DtoRegistro {
                        id_empleado      = x.id_empleado,
                        id_registro_pago = x.id_registro_pago,
                        empleado         = x.empleado,
                        total            = x.total,
                        faltante         = x.faltante,
                        cierre           = x.cierre,
                        num_planilla     = x.num_planilla
                    });


                    // Ordenar
                    if (agrid.columna == "id")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_registro_pago)
                                                        : query.OrderBy(x => x.id_registro_pago);
                    }

                    if (agrid.columna == "num_planilla")
                    {
                        query = agrid.columna_orden == "DESC"
                                    ? query.OrderByDescending(x => x.num_planilla)
                                    : query.OrderBy(x => x.num_planilla);
                    }

                    if (agrid.columna == "id_empleado")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_empleado)
                                                        : query.OrderBy(x => x.id_empleado);
                    }

                    if (agrid.columna == "faltante")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.faltante)
                                                        : query.OrderBy(x => x.faltante);
                    }

                    if (agrid.columna == "total")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.total)
                                                        : query.OrderBy(x => x.total);
                    }


                    if (agrid.columna == "empleado")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.empleado)
                                                        : query.OrderBy(x => x.empleado);
                    }

                    if (agrid.columna == "cierre")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.cierre)
                                                        : query.OrderBy(x => x.cierre);
                    }

                    var registros = query.Skip(agrid.pagina)
                                    .Take(agrid.limite)
                                    .ToList();

                    var total = query.Count();

                    agrid.SetData(registros, total);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(agrid.responde());
        }
Beispiel #30
0
        //metodo para listar
        public AnexGRIDResponde Listar(AnexGRID agrid)
        {
            try
            {
                using (var ctx = new MaximaContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;
                    agrid.Inicializar();

                    var query = ctx.tbl_empleado.Where(x => x.id_empleado > 0).Where(x => x.estado == "A");

                    // Ordenar
                    if (agrid.columna == "id")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.id_empleado)
                                                        : query.OrderBy(x => x.id_empleado);
                    }

                    if (agrid.columna == "primer_nombre")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.primer_nombre)
                                                        : query.OrderBy(x => x.primer_nombre);
                    }

                    if (agrid.columna == "segundo_nombre")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.segundo_nombre)
                                                        : query.OrderBy(x => x.segundo_nombre);
                    }

                    if (agrid.columna == "primer_apellido")
                    {
                        query = agrid.columna_orden == "DESC"
                                    ? query.OrderByDescending(x => x.primer_apellido)
                                    : query.OrderBy(x => x.primer_apellido);
                    }

                    if (agrid.columna == "segundo_apellido")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.segundo_nombre)
                                                        : query.OrderBy(x => x.segundo_apellido);
                    }

                    if (agrid.columna == "telefono")
                    {
                        query = agrid.columna_orden == "DESC"
                                    ? query.OrderByDescending(x => x.telefono)
                                    : query.OrderBy(x => x.telefono);
                    }

                    if (agrid.columna == "direccion")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.direccion)
                                                        : query.OrderBy(x => x.direccion);
                    }

                    if (agrid.columna == "dpi")
                    {
                        query = agrid.columna_orden == "DESC"
                                    ? query.OrderByDescending(x => x.dpi)
                                    : query.OrderBy(x => x.dpi);
                    }

                    if (agrid.columna == "correo")
                    {
                        query = agrid.columna_orden == "DESC"
                                                        ? query.OrderByDescending(x => x.correo)
                                                        : query.OrderBy(x => x.correo);
                    }


                    var empleados = query.Skip(agrid.pagina)
                                    .Take(agrid.limite)
                                    .ToList();

                    var total = query.Count();

                    agrid.SetData(empleados, total);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(agrid.responde());
        }