// GET: Login
        public ActionResult Login()
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("home", "home"));
            }
            clsDGeneral           = new clsDGeneral();
            ClsdConfiguracionMenu = new ClsdConfiguracionMenu();
            string BD = clsDGeneral.getDataBase();

            if (BD == clsAtributos.DesarrolloBD)
            {
                ViewBag.BD = clsAtributos.BDDesarrollo;
            }
            if (BD == clsAtributos.PreProduccionBD)
            {
                ViewBag.BD = clsAtributos.BDPreProduccion;
            }
            if (BD == clsAtributos.ProduccionBD)
            {
                ViewBag.BD = clsAtributos.BDProduccion;
            }
            ViewBag.version    = Assembly.GetExecutingAssembly().GetName().Version;
            ViewBag.FondoLogin = ClsdConfiguracionMenu.ConsultaLoginFondoActivo();

            return(View());
        }
        public JsonResult ConsultarBD()
        {
            clsDGeneral = new clsDGeneral();
            string BD = clsDGeneral.getDataBase();
            List <RespuestaGeneral> respuesta = new List <RespuestaGeneral>();

            if (BD == clsAtributos.DesarrolloBD)
            {
                respuesta.Add(new RespuestaGeneral {
                    Codigo = 1, Descripcion = "http://192.168.0.31:8001/", Mensaje = clsAtributos.BDProduccion
                });
            }
            if (BD == clsAtributos.PreProduccionBD)
            {
                respuesta.Add(new RespuestaGeneral {
                    Codigo = 1, Descripcion = "http://192.168.0.31:8001/", Mensaje = clsAtributos.BDProduccion
                });
            }
            if (BD == clsAtributos.ProduccionBD)
            {
                respuesta.Add(new RespuestaGeneral {
                    Codigo = 0, Descripcion = "http://192.168.0.31:8000/", Mensaje = clsAtributos.BDPreProduccion
                });
            }

            return(Json(respuesta, JsonRequestBehavior.AllowGet));
        }
        public ActionResult AsignaMaterialesLinea()
        {
            try
            {
                lsUsuario                     = User.Identity.Name.Split('_');
                ViewBag.dataTableJS           = "1";
                ViewBag.JavaScrip             = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
                clsDControlMaterialQuebradizo = new clsDControlMaterialQuebradizo();
                clsDGeneral                   = new clsDGeneral();
                clsDEmpleado                  = new clsDEmpleado();
                var Empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault();
                ViewBag.Lineas   = clsDGeneral.ConsultaLineas(Empleado.CODIGOLINEA);
                ViewBag.Material = clsDControlMaterialQuebradizo.ConsultaMaterialQuebradizo();

                return(View());
            }
            catch (DbEntityValidationException e)
            {
                clsDError = new clsDError();
                lsUsuario = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e);
                SetErrorMessage(Mensaje);
                return(View());
            }
            catch (Exception ex)
            {
                clsDError = new clsDError();
                lsUsuario = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null);
                SetErrorMessage(Mensaje);
                return(View());
            }
        }
Exemple #4
0
 public ActionResult EmpleadoCargo()
 {
     try
     {
         ViewBag.dataTableJS = "1";
         ViewBag.JavaScrip   = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
         Usuario             = User.Identity.Name.Split('_');
         clsDEmpleado        = new clsDEmpleado();
         clsDGeneral         = new clsDGeneral();
         clsDLogin           = new clsDLogin();
         //clsDClasificador = new clsDClasificador();
         var Empleado = clsDEmpleado.ConsultaEmpleado(Usuario[1]).FirstOrDefault();
         ViewBag.Lineas = clsDGeneral.ConsultaLineas("0");
         ViewBag.Cargos = clsDGeneral.ConsultaCargos("0");
         ViewBag.Linea  = Empleado.LINEA;
         return(View());
     }
     catch (Exception ex)
     {
         SetErrorMessage(ex.Message);
         Usuario   = User.Identity.Name.Split('_');
         clsDError = new clsDError();
         clsDError.GrabarError(new ERROR
         {
             Controlador     = this.ControllerContext.RouteData.Values["controller"].ToString(),
             Mensaje         = ex.Message,
             Observacion     = "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(),
             FechaIngreso    = DateTime.Now,
             TerminalIngreso = Request.UserHostAddress,
             UsuarioIngreso  = Usuario[0]
         });
         return(RedirectToAction("Home", "Home"));
     }
 }
Exemple #5
0
 public ActionResult MoverPersonalDataLife()
 {
     try
     {
         clsDGeneral          = new clsDGeneral();
         ViewBag.JavaScrip    = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
         ViewBag.dataTableJS  = "1";
         ViewBag.Select2      = "1";
         ViewBag.CentroCostos = clsDGeneral.ConsultaCentroCostos();
     }
     catch (Exception ex)
     {
         Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         clsDError           = new clsDError();
         clsDError.GrabarError(new ERROR
         {
             Controlador     = this.ControllerContext.RouteData.Values["controller"].ToString(),
             Mensaje         = ex.Message,
             Observacion     = "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(),
             FechaIngreso    = DateTime.Now,
             TerminalIngreso = Request.UserHostAddress,
             UsuarioIngreso  = liststring[0]
         });
         return(RedirectToAction("Home", "Home"));
     }
     return(View());
 }
Exemple #6
0
 public void ConsultaComboLineas()
 {
     clsDGeneral    = new clsDGeneral();
     ViewBag.Lineas = clsDGeneral.ConsultaLineas("0");
     //ViewBag.Areas = clsDGeneral.ConsultaAreas("0");
     //ViewBag.Cargos = clsDGeneral.ConsultaCargos("0");
 }
Exemple #7
0
        public ActionResult ReporteDistribucionPorLinea()
        {
            try
            {
                ViewBag.dataTableJS = "1";

                Usuario          = User.Identity.Name.Split('_');
                clsDClasificador = new clsDClasificador();
                clsDEmpleado     = new clsDEmpleado();
                clsDLogin        = new clsDLogin();
                clsDGeneral      = new clsDGeneral();
                var Empleado = clsDEmpleado.ConsultaEmpleado(Usuario[1]).FirstOrDefault();
                ViewBag.LineaEmpleado = Empleado.CODIGOLINEA;

                List <int?> roles = clsDLogin.ConsultaRolesUsuario(Usuario[1]);
                if (roles.FirstOrDefault(x => x.Value == clsAtributos.RolSupervisorGeneral || x.Value == clsAtributos.RolControladorGeneral) != null)
                {
                    ViewBag.SupervisorGeneral = clsAtributos.RolSupervisorGeneral;
                    ViewBag.Lineas            = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                        Grupo = clsAtributos.CodGrupoLineasAprobarSolicitudProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo
                    });
                }
                else if (roles.FirstOrDefault(x => x.Value == clsAtributos.AsistenteProduccion) != null)
                {
                    ViewBag.SupervisorGeneral = clsAtributos.RolSupervisorGeneral;
                    ViewBag.Lineas            = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                        Grupo = clsAtributos.CodGrupoLineasAprobarSolicitudProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo
                    });
                }
                else if (roles.FirstOrDefault(x => x.Value == clsAtributos.RolSupervisorLinea || x.Value == clsAtributos.RolControladorLinea) != null)
                {
                    ViewBag.Lineas = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                        Grupo = clsAtributos.CodGrupoLineaProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo, Codigo = Empleado.CODIGOLINEA
                    });
                }
                else
                {
                    ViewBag.Lineas = clsDGeneral.ConsultaLineas(Empleado.CODIGOLINEA);
                }

                return(View());
            }
            catch (Exception ex)
            {
                SetErrorMessage(ex.Message);
                Usuario   = User.Identity.Name.Split('_');
                clsDError = new clsDError();
                clsDError.GrabarError(new ERROR
                {
                    Controlador     = this.ControllerContext.RouteData.Values["controller"].ToString(),
                    Mensaje         = ex.Message,
                    Observacion     = "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(),
                    FechaIngreso    = DateTime.Now,
                    TerminalIngreso = Request.UserHostAddress,
                    UsuarioIngreso  = Usuario[0]
                });
                return(RedirectToAction("Home", "Home"));
            }
        }
Exemple #8
0
        public ActionResult EmpleadoTurno()
        {
            try
            {
                ViewBag.dataTableJS = "1";
                ViewBag.JavaScrip   = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
                Usuario             = User.Identity.Name.Split('_');
                clsDLogin           = new clsDLogin();
                clsDGeneral         = new clsDGeneral();
                clsDEmpleado        = new clsDEmpleado();
                clsDClasificador    = new clsDClasificador();

                var Empleado = clsDEmpleado.ConsultaEmpleado(Usuario[1]).FirstOrDefault();
                ViewBag.LineaEmpleado = Empleado.CODIGOLINEA;
                List <int?> roles = clsDLogin.ConsultaRolesUsuario(Usuario[1]);
                if (roles.FirstOrDefault(x => x.Value == clsAtributos.RolSupervisorGeneral || x.Value == clsAtributos.RolControladorGeneral) != null)
                {
                    ViewBag.Lineas = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                        Grupo = clsAtributos.CodGrupoLineasAprobarSolicitudProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo
                    });
                }
                else if (roles.FirstOrDefault(x => x.Value == clsAtributos.RolSupervisorLinea || x.Value == clsAtributos.RolControladorLinea) != null)
                {
                    ViewBag.Lineas = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                        Grupo = clsAtributos.CodGrupoLineaProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo, Codigo = Empleado.CODIGOLINEA
                    });
                }
                else
                {
                    ViewBag.Lineas = clsDGeneral.ConsultaLineas(Empleado.CODIGOLINEA);
                }
                return(View());
            }
            catch (DbEntityValidationException e)
            {
                clsDError = new clsDError();
                Usuario   = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(Usuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e);
                SetErrorMessage(Mensaje);
                return(RedirectToAction("Home", "Home"));
            }
            catch (Exception ex)
            {
                clsDError = new clsDError();
                Usuario   = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(Usuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null);
                SetErrorMessage(Mensaje);
                return(RedirectToAction("Home", "Home"));
            }
        }
 public ActionResult ReporteControlMaterialQuebradizo()
 {
     try
     {
         lsUsuario                     = User.Identity.Name.Split('_');
         ViewBag.dataTableJS           = "1";
         ViewBag.JavaScrip             = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
         clsDControlMaterialQuebradizo = new clsDControlMaterialQuebradizo();
         clsDGeneral                   = new clsDGeneral();
         clsDEmpleado                  = new clsDEmpleado();
         clsDLogin                     = new clsDLogin();
         clsDClasificador              = new clsDClasificador();
         var  Empleado  = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault();
         bool existeRol = clsDLogin.ValidarUsuarioRol(lsUsuario[1], clsAtributos.AsistenteProduccion);
         if (existeRol)
         {
             ViewBag.Lineas = clsDClasificador.ConsultaClasificador(new Models.Seguridad.Clasificador {
                 Grupo = clsAtributos.CodGrupoLineasAprobarSolicitudProduccion, EstadoRegistro = clsAtributos.EstadoRegistroActivo
             });
             ViewBag.AsistenteProduccion = existeRol;
         }
         else
         {
             ViewBag.Lineas = clsDGeneral.ConsultaLineas(Empleado.CODIGOLINEA);
         }
         return(View());
     }
     catch (DbEntityValidationException e)
     {
         clsDError = new clsDError();
         lsUsuario = User.Identity.Name.Split('_');
         string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e);
         SetErrorMessage(Mensaje);
         return(View());
     }
     catch (Exception ex)
     {
         clsDError = new clsDError();
         lsUsuario = User.Identity.Name.Split('_');
         string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null);
         SetErrorMessage(Mensaje);
         return(View());
     }
 }
        public List <ControlCocheLineaViewModel> ConsultarControlCocheLinea(ControlCocheLineaViewModel filtros)
        {
            using (ASIS_PRODEntities entities = new ASIS_PRODEntities())
            {
                IEnumerable <CONTROL_COCHE_LINEA> poControl = entities.CONTROL_COCHE_LINEA.Where(X => X.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                List <CONTROL_COCHE_LINEA>        ListadoControl;
                List <ControlCocheLineaViewModel> ListadoFinal = new List <ControlCocheLineaViewModel>();
                if (filtros != null)
                {
                    if (filtros.IdControlCocheLinea > 0)
                    {
                        poControl = poControl.Where(x => x.IdControlCocheLinea == filtros.IdControlCocheLinea);
                    }

                    poControl = poControl.Where(x => x.Fecha == filtros.Fecha && x.Turno == filtros.Turno);
                }

                ListadoControl = poControl.ToList();
                clsDGeneral    = new clsDGeneral();
                foreach (var x in ListadoControl)
                {
                    var Linea = clsDGeneral.ConsultaLineas(x.Linea).FirstOrDefault();
                    ListadoFinal.Add(new ControlCocheLineaViewModel {
                        IdControlCocheLinea = x.IdControlCocheLinea,
                        Linea                   = x.Linea,
                        Lote                    = x.Lote,
                        Coches                  = x.Coches,
                        DescripcionLinea        = Linea.Descripcion,
                        Fecha                   = x.Fecha,
                        FechaIngresoLog         = x.FechaIngresoLog,
                        FechaModificacionLog    = x.FechaModificacionLog,
                        HoraFin                 = x.HoraFin,
                        HoraInicio              = x.HoraInicio,
                        Observacion             = x.Observacion,
                        Talla                   = x.Talla,
                        TerminalIngresoLog      = x.TerminalIngresoLog,
                        TerminalModificacionLog = x.TerminalModificacionLog,
                        UsuarioIngresoLog       = x.UsuarioIngresoLog,
                        UsuarioModificacionLog  = x.UsuarioModificacionLog
                    });
                }
                return(ListadoFinal);
            }
        }
        public ActionResult Home()
        {
            try
            {
                ViewBag.dataTableJS  = "1";
                ViewBag.JavaScrip    = RouteData.Values["controller"] + "/" + RouteData.Values["action"];
                ViewBag.Apexcharts   = "1";
                clsDEmpleado         = new clsDEmpleado();
                clsDSolicitudPermiso = new clsDSolicitudPermiso();
                clsVacaciones        = new ClsVacaciones();
                clsDGeneral          = new clsDGeneral();
                clsDLogin PsLogin = new clsDLogin();

                lsUsuario = User.Identity.Name.Split('_');
                string psrolid = lsUsuario[1];
                if (PsLogin.ValidarUsuarioRol(lsUsuario[1], clsAtributos.RolGarita))
                {
                    ViewBag.Garita = "1";
                }
                var resultado = PsLogin.ConsultarRolesDeUsuario(psrolid);
                Session.Timeout     = 1480;
                Session["Padre"]    = resultado[0];
                Session["Hijo"]     = resultado[1];
                Session["Modulos"]  = resultado[2];
                Session["Busqueda"] = resultado[3];
                var Roles    = PsLogin.ConsultaRolesUsuario(lsUsuario[1]);
                var Empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault();
                if (Empleado != null)
                {
                    ViewBag.Nombre = Empleado.NOMBRES;
                }
                ViewBag.Vacaciones = JsonConvert.SerializeObject(clsVacaciones.ConsultarVacaciones(lsUsuario[1], "E").FirstOrDefault());
                ViewBag.Marcacion  = clsDGeneral.ConsultarBiometricoxFecha(lsUsuario[1], DateTime.Now);
                Notificaciones(Roles, lsUsuario[1]);
                var BD = clsDGeneral.getDataBase();
                if (BD == clsAtributos.DesarrolloBD)
                {
                    Session["BaseDatos"] = clsAtributos.BDDesarrollo;
                }
                if (BD == clsAtributos.PreProduccionBD)
                {
                    Session["BaseDatos"] = clsAtributos.BDPreProduccion;
                }
                if (BD == clsAtributos.ProduccionBD)
                {
                    Session["BaseDatos"] = clsAtributos.BDProduccion;
                }
                Session["Version"] = Assembly.GetExecutingAssembly().GetName().Version;

                return(View());
            }
            catch (DbEntityValidationException e)
            {
                clsDError = new clsDError();
                lsUsuario = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e);
                SetErrorMessage(Mensaje);
                return(View());
            }
            catch (Exception ex)
            {
                clsDError = new clsDError();
                lsUsuario = User.Identity.Name.Split('_');
                string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                        "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null);
                SetErrorMessage(Mensaje);
                return(View());
            }
        }
        public void Notificaciones(List <int?> Roles, string Cedula)
        {
            clsDParametro        = new clsDParametro();
            clsDGeneral          = new clsDGeneral();
            clsDSolicitudPermiso = new clsDSolicitudPermiso();
            List <RespuestaGeneral> MensajesNotificaciones = new List <RespuestaGeneral>();

            //INICIO -- NOTIFICACIONES ENVIADOS DESDE LA BASE DE DATOS 2020-06-25
            var Notificaciones = clsDGeneral.ConsultaNotificaciones(Cedula);

            foreach (var x in Notificaciones)
            {
                MensajesNotificaciones.Add(new RespuestaGeneral {
                    Mensaje = x.Mensaje, Observacion = "/" + x.Url
                });
            }
            Session["MensajesNotificacionesMenu"] = Notificaciones;
            //ViewBag.MensajesNotificacionesMenu = Notificaciones;
            //2020-06-25 -- FIN


            var MensajeUrgente = clsDParametro.ConsultaParametros(new PARAMETRO {
                Codigo         = clsAtributos.ParaMensajeUrgente,
                EstadoRegistro = clsAtributos.EstadoRegistroActivo
            }).FirstOrDefault();

            if (MensajeUrgente != null)
            {
                ViewBag.MensajeUrgente = MensajeUrgente.Observacion;
            }

            var MensajeAviso = clsDParametro.ConsultaParametros(new PARAMETRO
            {
                Codigo         = clsAtributos.ParaMensajeAviso,
                EstadoRegistro = clsAtributos.EstadoRegistroActivo
            }).FirstOrDefault();

            if (MensajeAviso != null)
            {
                ViewBag.MensajeAviso = MensajeAviso.Observacion;
            }



            if (Roles.Any(x => x.Value == clsAtributos.RolAprobacionSolicitud))
            {
                var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoNotificaciones(clsAtributos.EstadoSolicitudPendiente, lsUsuario[1]);
                if (solicitudes > 0)
                {
                    string enlace  = "/SolicitudPermiso/BandejaAprobacion";
                    string Mensaje = "Tienes " + solicitudes + " solicitudes en su bandeja por aprobar";
                    MensajesNotificaciones.Add(new RespuestaGeneral
                    {
                        Mensaje     = Mensaje,
                        Observacion = enlace
                    });
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.RolRRHH))
            {
                var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoNotificaciones(clsAtributos.EstadoSolicitudAprobado, lsUsuario[1]);
                if (solicitudes > 0)
                {
                    string enlace  = "/SolicitudPermiso/BandejaRRHH";
                    string Mensaje = "Tiene " + solicitudes + " solicitudes en su bandeja por revisar";
                    MensajesNotificaciones.Add(new RespuestaGeneral
                    {
                        Mensaje     = Mensaje,
                        Observacion = enlace
                    });
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.RolMedico))
            {
                var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermiso(new SOLICITUD_PERMISO
                {
                    EstadoSolicitud = clsAtributos.EstadoSolicitudAprobado,
                    Origen          = clsAtributos.SolicitudOrigenMedico,
                    ValidaMedico    = true
                });

                if (solicitudes.Any())
                {
                    string enlace  = "/SolicitudPermiso/BandejaMedico";
                    string Mensaje = "Tiene " + solicitudes.Count + " solicitudes en su bandeja por revisar";
                    MensajesNotificaciones.Add(new RespuestaGeneral
                    {
                        Mensaje     = Mensaje,
                        Observacion = enlace
                    });
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.RolGarita))
            {
                var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoReporte(null, null, clsAtributos.EstadoSolicitudAprobado, true, null, null).ToList();
                if (solicitudes.Any())
                {
                    string enlace  = "/SolicitudPermiso/ReporteSolicitud";
                    string Mensaje = "Tiene " + solicitudes.Count + " solicitudes en su bandeja";
                    MensajesNotificaciones.Add(new RespuestaGeneral
                    {
                        Mensaje     = Mensaje,
                        Observacion = enlace
                    });
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.RolControladorGeneral))
            {
                clsDProyeccionProgramacion = new clsDProyeccionProgramacion();
                clsDAsistencia             = new clsDAsistencia();
                clsDEmpleado = new clsDEmpleado();
                var programaciones = clsDProyeccionProgramacion.ConsultaProyeccionProgramacion();
                if (programaciones != null && programaciones.EditaProduccion)
                {
                    string dia     = ci.DateTimeFormat.GetDayName(programaciones.FechaProduccion.DayOfWeek);
                    string enlace  = "/ProyeccionProgramacion/EditarProyeccionProgramacionProduccion";
                    string Mensaje = "Tiene la proyección de la programación pendiente de finalizar del dia " + dia + ", " + programaciones.FechaProduccion.ToString("dd-MM-yyyy");

                    MensajesNotificaciones.Add(new RespuestaGeneral {
                        Mensaje     = Mensaje,
                        Observacion = enlace
                    });
                }

                lsUsuario = User.Identity.Name.Split('_');
                var empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault();
                if (empleado != null)
                {
                    var finalizarAsistencia = clsDAsistencia.ConsultaFaltantesFinalizarAsistencia(empleado.CODIGOLINEA, DateTime.Now.AddDays(-1));
                    if (finalizarAsistencia.Any())
                    {
                        foreach (var x in finalizarAsistencia)
                        {
                            string dia     = ci.DateTimeFormat.GetDayName(x.FechaInicio.Value.DayOfWeek);
                            string enlace  = "/Asistencia/FinalizarAsistencia";
                            string Mensaje = "No ha finalizado la Asistencia del: " + dia + ", " + x.FechaInicio.Value.ToString("dd-MM-yyyy");

                            MensajesNotificaciones.Add(new RespuestaGeneral
                            {
                                Mensaje     = Mensaje,
                                Observacion = enlace
                            });
                        }
                    }
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.RolControladorLinea || x.Value == clsAtributos.RolEnlatado ||
                          x.Value == clsAtributos.RolEtiquetadoLata || x.Value == clsAtributos.RolEtiquetadoPouch || x.Value == clsAtributos.RolLimpiezaPouch ||
                          x.Value == clsAtributos.RolLimpiezaPouch || x.Value == clsAtributos.RolAutoclave ||
                          x.Value == clsAtributos.RolFrio || x.Value == clsAtributos.RolEvicerado))
            {
                clsDAsistencia = new clsDAsistencia();
                clsDEmpleado   = new clsDEmpleado();
                lsUsuario      = User.Identity.Name.Split('_');
                var empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault();
                if (empleado != null)
                {
                    var finalizarAsistencia    = clsDAsistencia.ConsultaFaltantesFinalizarAsistencia(empleado.CODIGOLINEA, DateTime.Now.AddDays(-1));
                    var finalizarCantidadFecha = finalizarAsistencia.Select(x => x.FechaInicio).Distinct();
                    if (finalizarAsistencia.Any())
                    {
                        foreach (var x in finalizarCantidadFecha)
                        {
                            int    cantidad = finalizarAsistencia.Count(y => y.FechaInicio == x.Value);
                            string dia      = ci.DateTimeFormat.GetDayName(x.Value.DayOfWeek);
                            string enlace   = "/Asistencia/AsistenciaFinalizar";
                            string Mensaje  = "No ha finalizado la Asistencia del día: " + dia + ", " + x.Value.ToString("dd-MM-yyyy") + " Existen " + cantidad + " empleados sin finalizar";

                            MensajesNotificaciones.Add(new RespuestaGeneral
                            {
                                Mensaje     = Mensaje,
                                Observacion = enlace
                            });
                        }
                    }
                }
            }

            if (Roles.Any(x => x.Value == clsAtributos.AsistenteProduccion))
            {
                clsDAsistencia = new clsDAsistencia();
                clsDEmpleado   = new clsDEmpleado();
                clsDGeneral    = new clsDGeneral();
                var finalizarAsistencia    = clsDAsistencia.ConsultaFaltantesFinalizarAsistenciaTodos(DateTime.Now.AddDays(-1));
                var finalizarCantidadFecha = finalizarAsistencia.Select(x => new { Fecha = x.FechaInicio, Linea = x.CodLinea }).Distinct();
                if (finalizarAsistencia.Any())
                {
                    foreach (var x in finalizarCantidadFecha)
                    {
                        var    linea    = clsDGeneral.ConsultaLineas(x.Linea).FirstOrDefault();
                        int    cantidad = finalizarAsistencia.Count(y => y.FechaInicio == x.Fecha && y.CodLinea == x.Linea);
                        string dia      = ci.DateTimeFormat.GetDayName(x.Fecha.Value.DayOfWeek);
                        string Mensaje  = "No ha finalizado la Asistencia " + linea.Descripcion + " del día: " + dia + ", " + x.Fecha.Value.ToString("dd-MM-yyyy") + " Existen " + cantidad + " empleados sin finalizar";

                        MensajesNotificaciones.Add(new RespuestaGeneral
                        {
                            Mensaje = Mensaje,
                        });
                    }
                }
            }

            if (MensajesNotificaciones.Any())
            {
                ViewBag.MensajesNotificaciones = MensajesNotificaciones;
            }
        }
        public List <EntradaSalidaMaterialViewModel> ConsultarBandejaEntradaySalidaDeMateriales(DateTime?FechaInicio, DateTime?FechaFin, bool EstadoControl)
        {
            using (var db = new ASIS_PRODEntities())
            {
                clsDGeneral = new clsDGeneral();
                List <spConsultaLinea> Lineas = clsDGeneral.ConsultaLineas("0");
                clsDClasificador = new clsDClasificador();
                List <CLASIFICADOR> ListaTurnos = clsDClasificador.ConsultarClasificador(clsAtributos.GrupoCodTurno);
                if (EstadoControl == clsAtributos.EstadoReportePendiente)
                {
                    //return db.CC_EVALUACION_LOMO_MIGA_BANDEJA_CABECERA.Where(x => (x.EstadoRegistro == clsAtributos.EstadoRegistroActivo & x.EstadoControl == clsAtributos.EstadoReportePendiente)).ToList();
                    var respuesta = (from x in db.ENTRADA_SALIDA_MATERIAL_CABECERA
                                     //join L in Lineas on x.Linea equals L.Codigo
                                     //join T in ListaTurnos on x.Turno equals T.Codigo
                                     join d in db.ENTRADA_SALIDA_MATERIAL_DETALLE on new { IdCabecera = x.IdControlEntradaSalidaMateriales, EstadoRegistro = clsAtributos.EstadoRegistroActivo } equals new { IdCabecera = d.IdCabeceraEntradaSalidaMaterial, d.EstadoRegistro }
                                     join s in db.ENTRADA_SALIDA_MATERIAL_SUBDETALLE on new { IdDetalle = d.IdDetalleEntradaSalidaMateriales, EstadoRegistro = clsAtributos.EstadoRegistroActivo } equals new { IdDetalle = s.IdDetalleEntradaSalidaMaterial, s.EstadoRegistro }
                                     where x.EstadoRegistro == clsAtributos.EstadoRegistroActivo && (x.EstadoControl == clsAtributos.EstadoReportePendiente)
                                     select new EntradaSalidaMaterialViewModel {
                        AprobadoPor = x.AprobadoPor
                        , CodLinea = x.Linea,
                        CodTurno = x.Turno,
                        EstadoControl = x.EstadoControl,
                        EstadoRegistro = x.EstadoRegistro,
                        Fecha = x.Fecha,
                        FechaAprobacion = x.FechaAprobacion,
                        FechaIngresoLog = x.FechaIngresoLog,
                        FechaModificacionLog = x.FechaModificacionLog,
                        IdControlEntradaSalidaMateriales = x.IdControlEntradaSalidaMateriales,
                        //Linea=L.Descripcion,
                        Observacion = x.Observacion,
                        TerminalIngresoLog = x.TerminalIngresoLog,
                        TerminalModificacionLog = x.TerminalModificacionLog,
                        //Turno=T.Descripcion,
                        UsuarioIngresoLog = x.UsuarioIngresoLog,
                        UsuarioModificacionLog = x.UsuarioModificacionLog
                    }).Distinct().ToList();
                    var poRespuesta = (from x in respuesta
                                       join L in Lineas on x.CodLinea equals L.Codigo
                                       join T in ListaTurnos on x.CodTurno equals T.Codigo
                                       select new EntradaSalidaMaterialViewModel
                    {
                        AprobadoPor = x.AprobadoPor,
                        CodLinea = x.Linea,
                        CodTurno = x.Turno,
                        EstadoControl = x.EstadoControl,
                        EstadoRegistro = x.EstadoRegistro,
                        Fecha = x.Fecha,
                        FechaAprobacion = x.FechaAprobacion,
                        FechaIngresoLog = x.FechaIngresoLog,
                        FechaModificacionLog = x.FechaModificacionLog,
                        IdControlEntradaSalidaMateriales = x.IdControlEntradaSalidaMateriales,
                        Linea = L.Descripcion,
                        Observacion = x.Observacion,
                        TerminalIngresoLog = x.TerminalIngresoLog,
                        TerminalModificacionLog = x.TerminalModificacionLog,
                        Turno = T.Descripcion,
                        UsuarioIngresoLog = x.UsuarioIngresoLog,
                        UsuarioModificacionLog = x.UsuarioModificacionLog
                    }).ToList();

                    return(poRespuesta);
                }
                else
                {
                    var respuesta = (from x in db.ENTRADA_SALIDA_MATERIAL_CABECERA

                                     join d in db.ENTRADA_SALIDA_MATERIAL_DETALLE on new { IdCabecera = x.IdControlEntradaSalidaMateriales, EstadoRegistro = clsAtributos.EstadoRegistroActivo } equals new { IdCabecera = d.IdCabeceraEntradaSalidaMaterial, d.EstadoRegistro }
                                     join s in db.ENTRADA_SALIDA_MATERIAL_SUBDETALLE on new { IdDetalle = d.IdDetalleEntradaSalidaMateriales, EstadoRegistro = clsAtributos.EstadoRegistroActivo } equals new { IdDetalle = s.IdDetalleEntradaSalidaMaterial, s.EstadoRegistro }
                                     where x.EstadoRegistro == clsAtributos.EstadoRegistroActivo && (x.Fecha >= FechaInicio && x.Fecha <= FechaFin) &&
                                     x.EstadoControl == clsAtributos.EstadoReporteActivo
                                     select new EntradaSalidaMaterialViewModel
                    {
                        AprobadoPor = x.AprobadoPor,
                        CodLinea = x.Linea,
                        CodTurno = x.Turno,
                        EstadoControl = x.EstadoControl,
                        EstadoRegistro = x.EstadoRegistro,
                        Fecha = x.Fecha,
                        FechaAprobacion = x.FechaAprobacion,
                        FechaIngresoLog = x.FechaIngresoLog,
                        FechaModificacionLog = x.FechaModificacionLog,
                        IdControlEntradaSalidaMateriales = x.IdControlEntradaSalidaMateriales,
                        //Linea = L.Descripcion,
                        Observacion = x.Observacion,
                        TerminalIngresoLog = x.TerminalIngresoLog,
                        TerminalModificacionLog = x.TerminalModificacionLog,
                        //Turno = T.Descripcion,
                        UsuarioIngresoLog = x.UsuarioIngresoLog,
                        UsuarioModificacionLog = x.UsuarioModificacionLog
                    }).Distinct().ToList();
                    var poRespuesta = (from x in respuesta
                                       join L in Lineas on x.CodLinea equals L.Codigo
                                       join T in ListaTurnos on x.CodTurno equals T.Codigo
                                       select new EntradaSalidaMaterialViewModel
                    {
                        AprobadoPor = x.AprobadoPor,
                        CodLinea = x.Linea,
                        CodTurno = x.Turno,
                        EstadoControl = x.EstadoControl,
                        EstadoRegistro = x.EstadoRegistro,
                        Fecha = x.Fecha,
                        FechaAprobacion = x.FechaAprobacion,
                        FechaIngresoLog = x.FechaIngresoLog,
                        FechaModificacionLog = x.FechaModificacionLog,
                        IdControlEntradaSalidaMateriales = x.IdControlEntradaSalidaMateriales,
                        Linea = L.Descripcion,
                        Observacion = x.Observacion,
                        TerminalIngresoLog = x.TerminalIngresoLog,
                        TerminalModificacionLog = x.TerminalModificacionLog,
                        Turno = T.Descripcion,
                        UsuarioIngresoLog = x.UsuarioIngresoLog,
                        UsuarioModificacionLog = x.UsuarioModificacionLog
                    }).ToList();
                    return(poRespuesta);
                }
            }
        }