예제 #1
0
        public DataSet SelectForUser(string usuario)
        {
            DataSet ds = new DataSet();

            try
            {
                Model db = new Model();

                var publicaciones = (from p in db.publicaciones
                                     where (p.activo == true & p.usuario.ToUpper() == usuario.ToUpper())
                                     orderby(p.fecha)
                                     select new { p.id_publicacion, p.titulo, p.descripcion, p.fecha, fecha_str = p.fecha.ToString(), p.usuario }).ToArray();

                NAVISION dbnavision = new NAVISION();
                var      results    = from p in publicaciones
                                      join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                                      select new
                {
                    p.id_publicacion,
                    p.titulo,
                    p.descripcion,
                    p.fecha,
                    p.fecha_str,
                    descripcion_corta = p.descripcion.Substring(0, p.descripcion.Length > 200 ? 100:p.descripcion.Length),
                    usuario           = p.usuario,
                    imagen_usuario    = p.usuario + ".png",
                    nombre            = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                };
                DataTable dt_publicaciones = new DataTable();
                dt_publicaciones = To.DataTable(results.ToList());
                ds.Tables.Add(dt_publicaciones);

                //var comentarios = (from p in db.publicaciones_comentarios
                //                  join pub in results on p.id_publicacion equals pub.id_publicacion
                //                  where (p.activo == true)
                //                  select new { p.id_publicacionc, p.comentario, p.fecha, fecha_str = p.fecha.ToString(), p.usuario }).ToArray();

                //var results2 = from p in comentarios
                //               join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                //               select new
                //               {
                //                   p.id_publicacionc,
                //                   p.comentario,
                //                   p.fecha,
                //                   p.fecha_str,
                //                   descripcion_corta = p.comentario.Substring(0, 100),
                //                   usuario = p.usuario,
                //                   nombre = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                //               };
                //DataTable dt_comentarios = new DataTable();
                //dt_comentarios = To.DataTable(results2.ToList());
                //ds.Tables.Add(dt_comentarios);

                //var publicaciones_likes = (from p in db.publicaciones_likes
                //                          join pub in results on p.id_publicacion equals pub.id_publicacion
                //                          where (p.activo == true)
                //                          select new { p.id_publicacionlike, p.fecha, fecha_str = p.fecha.ToString(), p.usuario }).ToArray();

                //var results3 = from p in publicaciones_likes
                //               join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                //               select new
                //               {
                //                   p.id_publicacionlike,
                //                   p.fecha,
                //                   p.fecha_str,
                //                   usuario = p.usuario,
                //                   nombre = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                //               };
                //DataTable dt_likes = new DataTable();
                //dt_comentarios = To.DataTable(results3.ToList());
                //ds.Tables.Add(dt_likes);

                return(ds);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(new DataSet());
            }
        }
예제 #2
0
        public DataSet SelectAllToday()
        {
            DataSet ds = new DataSet();

            try
            {
                Model db = new Model();

                var publicaciones = from p in db.publicaciones
                                    where (p.activo == true & p.fecha > DateTime.Today.AddDays(-1) & p.fecha < DateTime.Today.AddDays(1))
                                    select new { p.id_publicacion, p.titulo, p.descripcion, p.fecha, fecha_str = p.fecha.ToString(), p.usuario };
                NAVISION dbnavision = new NAVISION();
                var      results    = from p in publicaciones
                                      join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                                      select new
                {
                    p.id_publicacion,
                    p.titulo,
                    p.descripcion,
                    p.fecha,
                    p.fecha_str,
                    descripcion_corta = p.descripcion.Substring(0, 100),
                    usuario           = p.usuario,
                    nombre            = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                };
                DataTable dt_publicaciones = new DataTable();
                dt_publicaciones = To.DataTable(results.ToList());
                ds.Tables.Add(dt_publicaciones);

                var comentarios = from p in db.publicaciones_comentarios
                                  join pub in results on p.id_publicacion equals pub.id_publicacion
                                  where (p.activo == true)
                                  select new { p.id_publicacionc, p.comentario, p.fecha, fecha_str = p.fecha.ToString(), p.usuario };

                var results2 = from p in comentarios
                               join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                               select new
                {
                    p.id_publicacionc,
                    p.comentario,
                    p.fecha,
                    p.fecha_str,
                    descripcion_corta = p.comentario.Substring(0, 100),
                    usuario           = p.usuario,
                    nombre            = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                };
                DataTable dt_comentarios = new DataTable();
                dt_comentarios = To.DataTable(results2.ToList());
                ds.Tables.Add(dt_comentarios);

                var publicaciones_likes = from p in db.publicaciones_likes
                                          join pub in results on p.id_publicacion equals pub.id_publicacion
                                          where (p.activo == true)
                                          select new { p.id_publicacionlike, p.fecha, fecha_str = p.fecha.ToString(), p.usuario };

                var results3 = from p in publicaciones_likes
                               join up in dbnavision.Employee on p.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                               select new
                {
                    p.id_publicacionlike,
                    p.fecha,
                    p.fecha_str,
                    usuario = p.usuario,
                    nombre  = up.First_Name.Trim() + " " + up.Last_Name.Trim()
                };
                DataTable dt_likes = new DataTable();
                dt_comentarios = To.DataTable(results3.ToList());
                ds.Tables.Add(dt_likes);

                return(ds);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(new DataSet());
            }
        }
예제 #3
0
        /// <summary>
        /// Devuelve un cursor con los riesgos por proyectos
        /// </summary>
        /// <param name="id_proyecto_perido"></param>
        /// <returns></returns>
        public DataTable proyectos_riesgos_reporte(int num_empleado, bool ver_Todos_los_empleados, DateTime fecha_inicio, DateTime fecha_fin)
        {
            DataTable dt = new DataTable();

            try
            {
                EmpleadosCOM empleados  = new EmpleadosCOM();
                bool         no_activos = false;
                DataSet      ds         = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
                DataTable    dt_empleados_subordinados = ds.Tables[0];
                List <EmpleadoSubordinados> list_emp   = new List <EmpleadoSubordinados>();
                foreach (DataRow row in dt_empleados_subordinados.Rows)
                {
                    EmpleadoSubordinados empleado = new EmpleadoSubordinados();
                    empleado.Usuario = row["usuario"].ToString().ToUpper();
                    list_emp.Add(empleado);
                }

                Proyectos_ConnextEntities db = new Proyectos_ConnextEntities();
                List <sp_get_tecnologias_historial_Result> tecnologias = db.sp_get_tecnologias_historial().ToList();
                var riesgos = (from r in db.riesgos
                               join re in db.riesgos_estatus on r.id_riesgos_estatus equals re.id_riesgos_estatus
                               join rp in db.riesgos_probabilidad on r.id_riesgo_probabilidad equals rp.id_riesgo_probabilidad
                               join rs in db.riesgos_estrategia on r.id_riesgo_estrategia equals rs.id_riesgo_estrategia
                               join pe in db.proyectos_evaluaciones on r.id_proyecto_evaluacion equals pe.id_proyecto_evaluacion
                               join p in db.proyectos on pe.id_proyecto equals p.id_proyecto
                               //join pht in db.proyectos_historial_tecnologias on p.id_proyecto equals pht.id_proyecto
                               //join pt in db.proyectos_tecnologias on pht.id_proyecto_tecnologia equals pt.id_proyecto_tecnologia
                               where (p.usuario_borrado == null &&
                                      (r.usuario_borrado == null) &&
                                      (r.fecha_registro >= fecha_inicio && r.fecha_registro <= fecha_fin))
                               orderby r.id_riesgo ascending
                               select new
                {
                    //pt.id_proyecto_tecnologia,
                    //tecnologia = pt.nombre,
                    r.id_riesgo,
                    r.riesgo,
                    r.id_riesgos_estatus,
                    re.estatus,
                    r.id_riesgo_probabilidad,
                    probabilidad = rp.nombre,
                    r.id_riesgo_estrategia,
                    estrategia = rs.nombre,
                    fecha_evaluacion = pe.fecha_evaluacion,
                    id_proyecto = pe.id_proyecto,
                    proyecto = p.proyecto,
                    r.usuario
                }).ToArray();
                var triesgos = (from r in riesgos
                                join emp in list_emp on r.usuario.ToUpper() equals emp.Usuario
                                select new
                {
                    r.usuario,
                    //r.id_proyecto_tecnologia,
                    //r.tecnologia,
                    r.id_riesgo,
                    r.riesgo,
                    r.id_riesgos_estatus,
                    r.estatus,
                    r.id_riesgo_probabilidad,
                    r.probabilidad,
                    r.id_riesgo_estrategia,
                    r.estrategia,
                    r.fecha_evaluacion,
                    r.id_proyecto,
                    r.proyecto
                });
                NAVISION dbnavision = new NAVISION();
                var      results    = from r in riesgos
                                      join tec in tecnologias on r.id_proyecto equals tec.id_proyecto
                                      join up in dbnavision.Employee on r.usuario.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                                      select new
                {
                    tecnologia = tec.tecnologias,
                    usuario    = r.usuario,
                    empleado   = up.First_Name.Trim() + " " + up.Last_Name.Trim(),
                    //r.id_proyecto_tecnologia,
                    //r.tecnologia,
                    r.id_riesgo,
                    r.riesgo,
                    r.id_riesgos_estatus,
                    r.estatus,
                    r.id_riesgo_probabilidad,
                    r.probabilidad,
                    r.id_riesgo_estrategia,
                    r.estrategia,
                    r.fecha_evaluacion,
                    r.id_proyecto,
                    r.proyecto
                };
                dt = To.DataTable(results.ToList());
                return(dt);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(null);
            }
        }
예제 #4
0
        public string Editar(proyectos_minutas entidad, List <proyectos_minutas_participantes> participantes, List <proyectos_minutas_pendientes> pendientes)
        {
            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                proyectos_minutas         minuta  = context.proyectos_minutas
                                                    .First(i => i.id_proyectomin == entidad.id_proyectomin);
                minuta.usuario_edicion = entidad.usuario_edicion;
                minuta.fecha_edicion   = DateTime.Now;
                minuta.asunto          = entidad.asunto;
                minuta.fecha           = entidad.fecha;
                minuta.propósito       = entidad.propósito;
                minuta.resultados      = entidad.resultados;
                minuta.acuerdos        = entidad.acuerdos;
                minuta.lugar           = entidad.lugar;
                minuta.enviada         = entidad.enviada;
                List <proyectos_minutas_participantes> participantes_historial = minuta.proyectos_minutas_participantes.ToList();
                List <proyectos_minutas_pendientes>    pendientes_historial    = minuta.proyectos_minutas_pendientes.ToList();
                foreach (proyectos_minutas_participantes participante in participantes_historial)
                {
                    participante.usuario_borrado     = entidad.usuario_edicion;
                    participante.comentarios_borrado = "Borrado por actualización";
                    participante.fecha_borrado       = DateTime.Now;
                }
                foreach (proyectos_minutas_pendientes pendiente in pendientes_historial)
                {
                    pendiente.usuario_borrado     = entidad.usuario_edicion;
                    pendiente.comentarios_borrado = "Borrado por actualización";
                    pendiente.fecha_borrado       = DateTime.Now;
                }


                foreach (proyectos_minutas_participantes participante in participantes)
                {
                    var query = context.proyectos_minutas_participantes
                                .Where(i => i.id_proyectominpart == participante.id_proyectominpart &&
                                       i.id_proyectomin == participante.id_proyectomin);
                    DataTable dt = To.DataTable(query.ToList());

                    //si es null agregamos, si no es null editamos
                    if (dt.Rows.Count == 0)
                    {
                        participante.fecha_registro = DateTime.Now;
                        context.proyectos_minutas_participantes.Add(participante);
                    }
                    else
                    {
                        proyectos_minutas_participantes vparticipante = context.proyectos_minutas_participantes
                                                                        .First(i => i.id_proyectominpart == participante.id_proyectominpart &&
                                                                               i.id_proyectomin == participante.id_proyectomin);
                        vparticipante.usuario_borrado     = null;
                        vparticipante.fecha_borrado       = null;
                        vparticipante.comentarios_borrado = null;
                        vparticipante.nombre          = participante.nombre;
                        vparticipante.usuario         = participante.usuario;
                        vparticipante.rol             = participante.rol;
                        vparticipante.organización    = participante.organización;
                        vparticipante.fecha_edicion   = DateTime.Now;
                        vparticipante.usuario_edicion = entidad.usuario_edicion;
                    }
                }

                foreach (proyectos_minutas_pendientes pendiente in pendientes)
                {
                    var query = context.proyectos_minutas_pendientes
                                .Where(i => i.id_proyectominpen == pendiente.id_proyectominpen &&
                                       i.id_proyectomin == pendiente.id_proyectomin);
                    DataTable dt = To.DataTable(query.ToList());
                    //si es null agregamos, si no es null editamos
                    if (dt.Rows.Count == 0)
                    {
                        pendiente.fecha_registro = DateTime.Now;
                        context.proyectos_minutas_pendientes.Add(pendiente);
                    }
                    else
                    {
                        proyectos_minutas_pendientes vpendiente = context.proyectos_minutas_pendientes
                                                                  .First(i => i.id_proyectominpen == pendiente.id_proyectominpen &&
                                                                         i.id_proyectomin == pendiente.id_proyectomin);
                        vpendiente.usuario_borrado     = null;
                        vpendiente.fecha_borrado       = null;
                        vpendiente.comentarios_borrado = null;
                        vpendiente.nombre          = pendiente.nombre;
                        vpendiente.usuario_resp    = pendiente.usuario_resp;
                        vpendiente.avance          = pendiente.avance;
                        vpendiente.fecha_planeada  = pendiente.fecha_planeada;
                        vpendiente.descripcion     = pendiente.descripcion;
                        vpendiente.fecha_edicion   = DateTime.Now;
                        vpendiente.usuario_edicion = entidad.usuario_edicion;
                    }
                }
                context.SaveChanges();
                return("");
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
예제 #5
0
        /// <summary>
        /// Devuelve un DatatTable con los participantes
        /// </summary>
        /// <param name="id_proyect"></param>
        /// <returns></returns>
        public DataTable GetAllParticipante(int id_proyectomin)
        {
            DataTable dt = new DataTable();

            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                EmpleadosCOM empleados            = new EmpleadosCOM();
                bool         no_activos           = false;
                DataSet      ds = empleados.sp_listado_empleados(0, true, no_activos);
                DataTable    dt_empleados_subordinados = ds.Tables[0];
                List <EmpleadoSubordinados> list_emp   = new List <EmpleadoSubordinados>();
                foreach (DataRow row in dt_empleados_subordinados.Rows)
                {
                    EmpleadoSubordinados empleado = new EmpleadoSubordinados();
                    empleado.Usuario = row["usuario"].ToString().ToUpper();
                    empleado.Nombre  = row["nombre"].ToString();
                    empleado.Puesto  = row["puesto"].ToString();
                    empleado.Correo  = row["correo"].ToString();
                    list_emp.Add(empleado);
                }
                //empleados
                var query = context.proyectos_minutas_participantes
                            .Where(s => s.id_proyectomin == id_proyectomin && s.usuario_borrado == null &&
                                   s.usuario != "")
                            .Select(u => new
                {
                    u.id_proyectomin,
                    u.id_proyectominpart,
                    u.organización,
                    u.rol,
                    u.correos,
                    u.fecha_registro,
                    u.usuario,
                    u.usuario_edicion,
                    u.fecha_edicion,
                    u.usuario_borrado,
                    u.comentarios_borrado,
                    u.fecha_borrado,
                    u.nombre
                }).ToArray();

                var result = (from u in query
                              join em in list_emp on u.usuario.Trim().ToUpper() equals em.Usuario.ToUpper().Trim()
                              orderby(em.Nombre)
                              select new
                {
                    em.Nombre,
                    em.Puesto,
                    em.Correo,
                    u.id_proyectomin,
                    u.id_proyectominpart,
                    u.organización,
                    u.rol,
                    u.fecha_registro,
                    u.usuario,
                    u.usuario_edicion,
                    u.fecha_edicion,
                    u.usuario_borrado,
                    u.comentarios_borrado,
                    u.fecha_borrado
                }).ToArray();
                //NO EMPLEADOS
                var query2 = context.proyectos_minutas_participantes
                             .Where(s => s.id_proyectomin == id_proyectomin && s.usuario_borrado == null &&
                                    s.usuario == "")
                             .Select(u => new
                {
                    Nombre = u.nombre,
                    Puesto = u.rol,
                    Correo = u.correos,
                    u.id_proyectomin,
                    u.id_proyectominpart,
                    u.organización,
                    u.rol,
                    u.fecha_registro,
                    u.usuario,
                    u.usuario_edicion,
                    u.fecha_edicion,
                    u.usuario_borrado,
                    u.comentarios_borrado,
                    u.fecha_borrado
                }).ToArray();

                var resultUnion = Enumerable.Union(result, query2);
                dt = To.DataTable(resultUnion.ToList());
                return(dt);
            }
            catch (Exception ex)
            {
                return(dt);
            }
        }
예제 #6
0
        public DataTable GetAllPendientes(int id_proyectomin)
        {
            DataTable dt = new DataTable();

            try
            {
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                EmpleadosCOM empleados            = new EmpleadosCOM();
                bool         no_activos           = false;
                DataSet      ds = empleados.sp_listado_empleados(0, true, no_activos);
                DataTable    dt_empleados_subordinados = ds.Tables[0];
                List <EmpleadoSubordinados> list_emp   = new List <EmpleadoSubordinados>();
                foreach (DataRow row in dt_empleados_subordinados.Rows)
                {
                    EmpleadoSubordinados empleado = new EmpleadoSubordinados();
                    empleado.Usuario = row["usuario"].ToString().ToUpper();
                    empleado.Nombre  = row["nombre"].ToString();
                    empleado.Puesto  = row["puesto"].ToString();
                    empleado.Correo  = row["correo"].ToString();
                    list_emp.Add(empleado);
                }
                var query = context.proyectos_minutas_pendientes
                            .Where(s => s.id_proyectomin == id_proyectomin && s.usuario_borrado == null)
                            .Select(u => new
                {
                    u.id_proyectominpen,
                    u.id_proyectomin,
                    u.descripcion,
                    u.fecha_planeada,
                    u.fecha_registro,
                    u.usuario_resp,
                    u.usuario_edicion,
                    u.fecha_edicion,
                    u.usuario_borrado,
                    u.fecha_borrado,
                    u.comentarios_borrado,
                    u.avance,
                    u.nombre
                }).ToArray();

                var result = (from u in query
                              join em in list_emp on u.usuario_resp.Trim().ToUpper() equals em.Usuario.ToUpper().Trim()
                              orderby(em.Nombre)
                              select new {
                    u.id_proyectominpen,
                    responsable = em.Nombre,
                    em.Puesto,
                    em.Correo,
                    u.id_proyectomin,
                    u.descripcion,
                    u.fecha_planeada,
                    u.fecha_registro,
                    u.usuario_resp,
                    u.usuario_edicion,
                    u.fecha_edicion,
                    u.usuario_borrado,
                    u.fecha_borrado,
                    u.comentarios_borrado,
                    u.avance,
                    u.nombre
                });
                dt = To.DataTable(result.ToList());
                return(dt);
            }
            catch (Exception ex)
            {
                return(dt);
            }
        }
예제 #7
0
        /// <summary>
        /// Devuelve un DatatTable con la informacion de un empleado
        /// </summary>
        /// <param name="id_proyect"></param>
        /// <returns></returns>
        public DataTable Get(Employee entidad)
        {
            DataTable dt = new DataTable();

            try
            {
                NAVISION context = new NAVISION();
                var      query   = context.Employee
                                   .Where(s => s.Status == 1)
                                   .Select(u => new
                {
                    u.No_,
                    u.First_Name,
                    u.Middle_Name,
                    u.Last_Name,
                    u.Initials,
                    u.Job_Title,
                    u.Search_Name,
                    u.Address,
                    u.Address_2,
                    u.City,
                    u.Post_Code,
                    u.County,
                    u.Phone_No_,
                    u.Mobile_Phone_No_,
                    u.E_Mail,
                    u.Alt__Address_Code,
                    u.Alt__Address_Start_Date,
                    u.Alt__Address_End_Date,
                    u.Picture,
                    u.Birth_Date,
                    u.Social_Security_No_,
                    u.Union_Code,
                    u.Union_Membership_No_,
                    u.Sex,
                    u.Country_Region_Code,
                    u.Manager_No_,
                    u.Emplymt__Contract_Code,
                    u.Statistics_Group_Code,
                    u.Employment_Date,
                    u.Status,
                    u.Inactive_Date,
                    u.Cause_of_Inactivity_Code,
                    u.Termination_Date,
                    u.Grounds_for_Term__Code,
                    u.Global_Dimension_1_Code,
                    u.Global_Dimension_2_Code,
                    u.Resource_No_,
                    u.Last_Date_Modified,
                    u.Extension,
                    u.Pager,
                    u.Fax_No_,
                    u.Company_E_Mail,
                    u.Title,
                    u.Salespers__Purch__Code,
                    u.No__Series,
                    u.RFC,
                    u.Lugar_de_Nacimiento,
                    u.CURP,
                    u.Fecha_Ultimo_Aumento,
                    u.CC_Direccion,
                    u.Cliente,
                    u.Nombre_Cliente,
                    u.Resp_Area_Gerencia,
                    u.Puesto,
                    u.Resp_Area,
                    Usuario_Red = (u.Usuario_Red.Trim()),
                    u.Resp_Gerencia,
                    u.Centro_de_Costos,
                    u.No_Celular_Oficina,
                    u.PuestoId,
                    u.FechaInicioContrato,
                    u.FechaFinContrato,
                    u.FM3Numero,
                    u.OnSite,
                    u.MotivoBaja,
                    u.ComBaja,
                    u.ComInactividad,
                    u.Banco1,
                    u.Cuenta1,
                    u.Clabe1,
                    u.Banco2,
                    u.Cuenta2,
                    u.Clabe2,
                    u.BMonto,
                    u.NumJefe,
                    u.Tipo_Empleado,
                    u.Ubicacion_Empleado,
                    u.Funcion_Empleado,
                    u.Area,
                    u.Responsable_Dir,
                    u.Responsable_Ger,
                    u.Estado_Civil,
                    u.Duración_Contrato,
                    u.FM3,
                    u.CompañiaTel,
                    u.Plan_Celular,
                    u.Subordinados,
                    u.Bono,
                    u.Comisiones,
                    u.BPeriodo,
                    u.CPeriodo,
                    u.BTipo,
                    u.UsuarioMod,
                    u.AreaAdministrativa,
                    u.UsuarioRegistro,
                    u.FechaRegistro,
                    u.Empresa,
                    u.Fecha_Alta_IMSS,
                    u.Hijos,
                    u.UsuarioAutoriza,
                    u.FechaAutoriza,
                    u.MotivoModificacion,
                    u.TipoBaja,
                    u.ActivoFijo,
                    nombre_completo = (u.First_Name.Trim() + " " + u.Last_Name.Trim()),
                    nombre_usuario  = (u.First_Name.Trim() + " " + u.Last_Name.Trim() + " | " + u.Usuario_Red.Trim())
                })
                                   .OrderBy(u => u.First_Name);
                dt = To.DataTable(query.ToList());
                return(dt);
            }
            catch (Exception ex)
            {
                return(dt);
            }
        }