예제 #1
0
        public string Agregar(usuarios entidad)
        {
            try
            {
                EmpleadosCOM empleados = new EmpleadosCOM();
                string       mess      = "";
                if (Exist(entidad.usuario))
                {
                    mess = "Ya existe un usuario llamado: " + entidad.usuario;
                }
                else if (entidad.No_ != "" && !empleados.Exists(entidad.No_))
                {
                    mess = "No existe el empleado con el numero: " + entidad.No_;
                }
                else
                {
                    usuarios usuario = new usuarios
                    {
                        usuario = entidad.usuario.ToUpper().Trim(),
                        No_     = entidad.No_,

                        contraseña        = entidad.contraseña,
                        nombres           = entidad.nombres.ToUpper().Trim(),
                        puesto            = entidad.puesto,
                        a_paterno         = entidad.a_paterno.ToUpper().Trim(),
                        a_materno         = entidad.a_materno,
                        temporal          = entidad.temporal,
                        fecha_vencimiento = entidad.fecha_vencimiento,
                        correo            = entidad.correo,
                        path_imagen       = entidad.path_imagen,
                        activo            = true,
                        usuario_alta      = entidad.usuario_alta.ToUpper(),
                        fecha             = DateTime.Now
                    };
                    Model context = new Model();
                    context.usuarios.Add(usuario);
                    context.SaveChanges();
                }
                return(mess);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
예제 #2
0
 public string Editar(usuarios entidad)
 {
     try
     {
         EmpleadosCOM empleados = new EmpleadosCOM();
         string       mess      = "";
         if (entidad.No_ != "" && !empleados.Exists(entidad.No_))
         {
             mess = "No existe el empleado con el numero: " + entidad.No_;
         }
         else
         {
             Model    context = new Model();
             usuarios usuario = context.usuarios
                                .First(i => i.usuario.ToUpper().Trim() == entidad.usuario.ToUpper().Trim());
             usuario.contraseña        = entidad.contraseña;
             usuario.correo            = entidad.correo;
             usuario.puesto            = entidad.puesto;
             usuario.nombres           = entidad.nombres;
             usuario.a_paterno         = entidad.a_paterno;
             usuario.a_materno         = entidad.a_materno;
             usuario.No_               = entidad.No_;
             usuario.temporal          = entidad.temporal;
             usuario.fecha_vencimiento = entidad.fecha_vencimiento;
             usuario.path_imagen       = entidad.path_imagen;
             context.SaveChanges();
         }
         return(mess);
     }
     catch (DbEntityValidationException ex)
     {
         var errorMessages = ex.EntityValidationErrors
                             .SelectMany(x => x.ValidationErrors)
                             .Select(x => x.ErrorMessage);
         var fullErrorMessage = string.Join("; ", errorMessages);
         return(fullErrorMessage.ToString());
     }
 }
예제 #3
0
        public DataTable SelectWidget(int num_empleado, bool ver_Todos_los_empleados)
        {
            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 proyectos = (from p in db.proyectos
                                 join est in db.proyectos_estatus on p.id_proyecto_estatus equals est.id_proyecto_estatus
                                 join period in db.proyectos_periodos on p.id_proyecto_periodo equals period.id_proyecto_periodo
                                 where (p.usuario_borrado == null && p.id_proyecto_estatus == 1)
                                 orderby(p.fecha_registro)
                                 select new
                {
                    p.usuario,
                    p.id_proyecto,
                    p.id_proyecto_estatus,
                    est.estatus,
                    p.id_proyecto_periodo,
                    periodo = period.nombre,
                    p.cveoport,
                    p.folio_pmt,
                    p.folio_op,
                    p.proyecto,
                    p.descripcion,
                    p.fecha_registro,
                    p.fecha_inicio,
                    p.fecha_fin,
                    p.usuario_resp
                }).ToArray().Take(7);
                var tproyectos = (from p in proyectos
                                  join emp in list_emp on p.usuario_resp.ToUpper() equals emp.Usuario
                                  orderby(p.fecha_registro)
                                  select new
                {
                    p.usuario,
                    p.id_proyecto,
                    p.id_proyecto_estatus,
                    p.estatus,
                    p.id_proyecto_periodo,
                    p.periodo,
                    p.cveoport,
                    p.folio_pmt,
                    p.folio_op,
                    p.proyecto,
                    p.descripcion,
                    p.fecha_registro,
                    p.fecha_inicio,
                    p.fecha_fin,
                    p.usuario_resp
                });
                NAVISION dbnavision = new NAVISION();
                var      results    = from p in tproyectos
                                      join tec in tecnologias on p.id_proyecto equals tec.id_proyecto
                                      join up in dbnavision.Employee on p.usuario_resp.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                                      orderby(p.fecha_registro)
                                      select new
                {
                    tecnologia = tec.tecnologias,
                    usuario    = p.usuario_resp,
                    empleado   = up.First_Name.Trim() + " " + up.Last_Name.Trim(),
                    p.id_proyecto,
                    p.id_proyecto_estatus,
                    p.estatus,
                    p.id_proyecto_periodo,
                    p.periodo,
                    p.cveoport,
                    p.folio_pmt,
                    p.folio_op,
                    p.proyecto,
                    p.descripcion,
                    p.fecha_registro,
                    p.fecha_inicio,
                    p.fecha_fin
                };
                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(dt);
            }
        }
예제 #4
0
        /// <summary>
        /// Obtiene una tabla con la informacion de un proyecto
        /// </summary>
        /// <param name="id_proyecto"></param>
        /// <returns></returns>
        public DataTable Select(int id_proyecto)
        {
            DataTable dt = new DataTable();

            try
            {
                EmpleadosCOM empleados       = new EmpleadosCOM();
                Proyectos_ConnextEntities db = new Proyectos_ConnextEntities();
                List <sp_get_tecnologias_historial_Result> tecnologias = db.sp_get_tecnologias_historial().ToList();
                var proyectos = (from p in db.proyectos
                                 join est in db.proyectos_estatus on p.id_proyecto_estatus equals est.id_proyecto_estatus
                                 join period in db.proyectos_periodos on p.id_proyecto_periodo equals period.id_proyecto_periodo
                                 where (p.usuario_borrado == null && p.id_proyecto == id_proyecto)
                                 select new
                {
                    p.usuario,
                    p.id_proyecto,
                    p.id_proyecto_estatus,
                    est.estatus,
                    p.id_proyecto_periodo,
                    periodo = period.nombre,
                    p.cveoport,
                    p.folio_pmt,
                    p.folio_op,
                    p.proyecto,
                    p.descripcion,
                    p.fecha_registro,
                    p.fecha_inicio,
                    p.fecha_fin,
                    p.usuario_resp,
                    p.costo_mn,
                    p.costo_usd,
                    p.cped
                }).ToArray();
                NAVISION dbnavision = new NAVISION();
                var      results    = from p in proyectos
                                      join tec in tecnologias on p.id_proyecto equals tec.id_proyecto
                                      join up in dbnavision.Employee on p.usuario_resp.ToUpper().Trim() equals up.Usuario_Red.ToUpper().Trim()
                                      select new
                {
                    tecnologia = tec.tecnologias,
                    usuario    = p.usuario_resp,
                    empleado   = up.First_Name.Trim() + " " + up.Last_Name.Trim(),
                    p.id_proyecto,
                    p.id_proyecto_estatus,
                    p.estatus,
                    p.id_proyecto_periodo,
                    p.periodo,
                    p.cveoport,
                    p.folio_pmt,
                    p.proyecto,
                    p.descripcion,
                    p.folio_op,
                    p.fecha_registro,
                    p.fecha_inicio,
                    p.fecha_fin,
                    p.costo_mn,
                    p.cped,
                    p.costo_usd
                };
                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(dt);
            }
        }
예제 #5
0
        public DataTable empleados_proyecto(int id_proyecto)
        {
            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().ToUpper();
                    empleado.Puesto  = row["puesto"].ToString().ToUpper();
                    empleado.Correo  = row["correo"].ToString().ToUpper();
                    list_emp.Add(empleado);
                }
                var tblempleados = context.proyectos_empleados
                                   .Where(s => s.activo && s.id_proyecto == id_proyecto)
                                   .Select(u => new
                {
                    u.id_proyectoe,
                    u.id_proyecto_rol,
                    u.usuario,
                    u.id_proyecto,
                    u.usuario_registro,
                    u.fecha_registro
                })
                                   .OrderBy(u => u.usuario).ToArray();

                var result = (from a in tblempleados
                              join p in context.proyectos on a.id_proyecto equals p.id_proyecto
                              join b in list_emp on a.usuario.ToUpper().Trim() equals b.Usuario.Trim().ToUpper()
                              join c in context.proyectos_roles on a.id_proyecto_rol equals c.id_proyecto_rol
                              select new {
                    a.id_proyectoe,
                    a.usuario,
                    a.usuario_registro,
                    a.fecha_registro,
                    c.id_proyecto_rol,
                    c.administrador_proyecto,
                    c.rol,
                    b.Nombre,
                    b.Correo,
                    b.Puesto,
                    p.usuario_resp
                });
                DataTable dt = To.DataTable(result.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);
            }
        }
예제 #6
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);
            }
        }
예제 #7
0
        /// <summary>
        /// Agrega una instancia de riesgos
        /// </summary>
        /// <param name="entidad"></param>
        /// <returns></returns>
        public string Agregar(riesgos entidad, List <actividades> lst_actividades,
                              List <documentos> lstdocumentos, string nombre_proyecto, string nombre_session)
        {
            try
            {
                string  mess   = "";
                riesgos riesgo = new riesgos
                {
                    id_proyecto_evaluacion = entidad.id_proyecto_evaluacion,
                    riesgo                 = entidad.riesgo,
                    id_riesgos_estatus     = entidad.id_riesgos_estatus,
                    id_riesgo_probabilidad = entidad.id_riesgo_probabilidad,
                    id_riesgo_impacto      = entidad.id_riesgo_impacto,
                    id_riesgo_estrategia   = entidad.id_riesgo_estrategia,
                    estrategia             = entidad.estrategia,
                    valor          = entidad.valor,
                    usuario_resp   = entidad.usuario_resp,
                    usuario        = entidad.usuario,
                    fecha_registro = DateTime.Now
                };
                Proyectos_ConnextEntities context = new Proyectos_ConnextEntities();
                context.riesgos.Add(riesgo);
                context.SaveChanges();
                int id_riesgo = riesgo.id_riesgo;
                foreach (actividades actividad in lst_actividades)
                {
                    actividad.id_riesgo = id_riesgo;
                }
                foreach (actividades entidad2 in lst_actividades)
                {
                    actividades actividad = new actividades
                    {
                        id_actividad_tipo = entidad2.id_actividad_tipo,
                        id_proyecto       = entidad2.id_proyecto,
                        id_riesgo         = entidad2.id_riesgo,
                        nombre            = entidad2.nombre,
                        usuario_resp      = entidad2.usuario_resp,
                        fecha_ejecucion   = entidad2.fecha_ejecucion,
                        fecha_asignacion  = entidad2.fecha_asignacion,
                        usuario           = entidad2.usuario,
                        empleado_resp     = entidad2.empleado_resp,
                        fecha_registro    = DateTime.Now,
                        recomendada       = entidad2.recomendada,
                        resultado         = "",
                        terminada         = false
                    };
                    context.actividades.Add(actividad);
                    context.SaveChanges();
                    int id_actividad = actividad.id_actividad;
                    //ENVIAMOS NOTIFICACION
                    string       usuario_resp = actividad.usuario_resp;
                    EmpleadosCOM usuarios     = new EmpleadosCOM();
                    DataTable    dt_usuario   = usuarios.GetUsers();
                    DataView     dv           = dt_usuario.DefaultView;
                    dv.RowFilter = "usuario_red = '" + usuario_resp.Trim().ToUpper() + "'";
                    DataTable dt_result = dv.ToTable();
                    if (dt_result.Rows.Count > 0)
                    {
                        string  saludo  = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias";
                        DataRow usuario = dt_result.Rows[0];
                        string  mail_to = usuario["mail"].ToString() == "" ? "" : (usuario["mail"].ToString() + ";");
                        string  subject = "Módulo de proyectos - Actividad relacionada";
                        string  mail    = "<div>" + saludo + " <strong>" +
                                          System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(usuario["empleado"].ToString().ToLower())
                                          + "</strong> <div>" +
                                          "<br>" +
                                          "<p>Le fue asignada una actividad, dentro de una evaluación en el proyecto <strong>" + nombre_proyecto + "</strong>" +
                                          "</p>" +
                                          "<p>A continuación, se muestra la información completa:</p>" +
                                          "<p><strong>Riesgo</strong><br/> " +
                                          riesgo.riesgo + "</p> " +
                                          "<p><strong>Actividad/Acción</strong><br/> " +
                                          actividad.nombre + "</p> " +
                                          "<br/><p>Este movimiento fue realizado por <strong>" +
                                          System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(nombre_session.ToLower())
                                          + "</strong> el dia <strong>" +
                                          DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", System.Globalization.CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" +
                                          "</p>";
                        CorreosCOM correos = new CorreosCOM();
                        bool       correct = correos.SendMail(mail, subject, mail_to);
                    }
                    foreach (documentos documento in lstdocumentos)
                    {
                        if (documento.id_actividad == entidad2.id_actividad)
                        {
                            documento.fecha             = DateTime.Now;
                            documento.id_documento_tipo = 1;
                            documento.usuario_edicion   = null;
                            documento.id_actividad      = id_actividad;
                            context.documentos.Add(documento);
                        }
                    }
                }

                context.SaveChanges();
                return(mess);
            }
            catch (DbEntityValidationException ex)
            {
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);
                var fullErrorMessage = string.Join("; ", errorMessages);
                return(fullErrorMessage.ToString());
            }
        }
예제 #8
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);
            }
        }
예제 #9
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);
            }
        }
예제 #10
0
        public string AgregarPM(proyectos_empleados entidad)
        {
            try
            {
                string vmensaje = "";
                Model  context  = new Model();
                if (!ExistPM(entidad))
                {
                    proyectos_empleados empleado = new proyectos_empleados
                    {
                        id_proyecto = entidad.id_proyecto,
                        no_         = entidad.no_,
                        creador     = entidad.creador,
                        usuario     = entidad.usuario,
                        fecha       = DateTime.Now
                    };
                    context.proyectos_empleados.Add(empleado);
                    usuarios entidadus = new usuarios();
                    entidadus.id_cliente = null;
                    entidadus.id_uperfil = 3;
                    EmpleadosCOM empleados_com = new EmpleadosCOM();
                    Employee     enti          = new Employee();
                    DataTable    dt_empleados  = empleados_com.Get(enti);
                    int          no_           = entidad.no_;
                    if (dt_empleados.Select("no_ = " + no_.ToString().Trim() + "").Length > 0)
                    {
                        DataTable dt_filter = dt_empleados.Select("no_ = " + no_.ToString().Trim() + "").CopyToDataTable();
                        if (dt_filter.Rows.Count > 0)
                        {
                            entidadus.usuario  = dt_filter.Rows[0]["Usuario_Red"].ToString().ToUpper();
                            entidadus.password = "";
                            UsuariosCOM pusuarios = new UsuariosCOM();
                            vmensaje = entidadus.usuario == "" ? "El empleado no cuenta con usuario de red." : pusuarios.Agregar(entidadus)[0];
                        }
                    }
                    else
                    {
                        vmensaje = "No se encontraron los datos completos del empleado. Favor de verificar con el departamento correspondiente, que la información del empleado este completa.";
                    }


                    if (vmensaje == "")
                    {
                        context.SaveChanges();
                    }
                }
                return(vmensaje);
            }
            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                return(fullErrorMessage.ToString());
            }
        }