public CC_ANALISIS_QUIMICO_PRECOCCION_CTRL ConsultarEstadoReporte(int idAnalisis, DateTime fechaControl)
        {
            CC_ANALISIS_QUIMICO_PRECOCCION_CTRL listado;

            using (ASIS_PRODEntities db = new ASIS_PRODEntities())
            {
                if (idAnalisis == 0 && fechaControl > DateTime.MinValue)
                {
                    listado = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.FirstOrDefault(x => x.Fecha.Year == fechaControl.Year && x.Fecha.Month == fechaControl.Month &&
                                                                                    x.Fecha.Day == fechaControl.Day &&
                                                                                    x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                }
                else
                {
                    listado = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.Include(c => c.CC_ANALISIS_QUIMICO_PRECOCCION_DET).FirstOrDefault(x => x.IdAnalisis == idAnalisis && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                }
                CC_ANALISIS_QUIMICO_PRECOCCION_CTRL cabecera;
                if (listado != null)
                {
                    cabecera                   = new CC_ANALISIS_QUIMICO_PRECOCCION_CTRL();
                    cabecera.IdAnalisis        = listado.IdAnalisis;
                    cabecera.Fecha             = listado.Fecha;
                    cabecera.ObservacionCtrl   = listado.ObservacionCtrl;
                    cabecera.EstadoReporte     = listado.EstadoReporte;
                    cabecera.FechaIngresoLog   = listado.FechaIngresoLog;
                    cabecera.UsuarioIngresoLog = listado.UsuarioIngresoLog;
                    cabecera.FechaAprobado     = listado.FechaAprobado;
                    cabecera.AprobadoPor       = listado.AprobadoPor;
                    return(cabecera);
                }
            }
            return(listado);
        }
        public List <CC_ANALISIS_QUIMICO_PRECOCCION_CTRL> ConsultarReporteRangoFecha(DateTime fechaDesde, DateTime FechaHasta)
        {
            using (ASIS_PRODEntities db = new ASIS_PRODEntities())
            {
                var listado = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.Where(x => x.EstadoRegistro == clsAtributos.EstadoRegistroActivo &&
                                                                           x.Fecha >= fechaDesde && x.Fecha <= FechaHasta).OrderByDescending(c => c.Fecha).ToList();

                CC_ANALISIS_QUIMICO_PRECOCCION_CTRL        cabecera;
                List <CC_ANALISIS_QUIMICO_PRECOCCION_CTRL> listaCabecera = new List <CC_ANALISIS_QUIMICO_PRECOCCION_CTRL>();
                if (listado.Any())
                {
                    foreach (var item in listado)
                    {
                        cabecera                        = new CC_ANALISIS_QUIMICO_PRECOCCION_CTRL();
                        cabecera.IdAnalisis             = item.IdAnalisis;
                        cabecera.Fecha                  = item.Fecha;
                        cabecera.ObservacionCtrl        = item.ObservacionCtrl;
                        cabecera.EstadoReporte          = item.EstadoReporte;
                        cabecera.FechaIngresoLog        = item.FechaIngresoLog;
                        cabecera.UsuarioIngresoLog      = item.UsuarioIngresoLog;
                        cabecera.UsuarioModificacionLog = item.UsuarioModificacionLog;
                        cabecera.FechaModificacionLog   = item.FechaModificacionLog;
                        cabecera.FechaAprobado          = item.FechaAprobado;
                        cabecera.AprobadoPor            = item.AprobadoPor;
                        cabecera.Turno                  = item.Turno;
                        listaCabecera.Add(cabecera);
                    }
                }
                return(listaCabecera);
            }
        }
        public CC_ANALISIS_QUIMICO_PRECOCCION_CTRL ConsultarCabeceraTurno(string turno, DateTime fechaControl)
        {
            CC_ANALISIS_QUIMICO_PRECOCCION_CTRL listado;

            using (ASIS_PRODEntities db = new ASIS_PRODEntities())
            {
                if (turno == null)
                {
                    listado = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.AsNoTracking().FirstOrDefault(x => x.Fecha.Year == fechaControl.Year && x.Fecha.Month == fechaControl.Month &&
                                                                                                   x.Fecha.Day == fechaControl.Day &&
                                                                                                   x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                }
                else
                {
                    listado = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.AsNoTracking().FirstOrDefault(x => x.Fecha.Year == fechaControl.Year && x.Fecha.Month == fechaControl.Month &&
                                                                                                   x.Fecha.Day == fechaControl.Day && x.Turno == turno &&
                                                                                                   x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                }
            }
            if (listado != null)
            {
                //listado.CC_ANALISIS_QUIMICO_PRECOCCION_DET = null;
                CC_ANALISIS_QUIMICO_PRECOCCION_CTRL cabecera = new CC_ANALISIS_QUIMICO_PRECOCCION_CTRL();
                cabecera.AprobadoPor     = listado.AprobadoPor;
                cabecera.EstadoReporte   = listado.EstadoReporte;
                cabecera.Fecha           = listado.Fecha;
                cabecera.FechaAprobado   = listado.FechaAprobado;
                cabecera.IdAnalisis      = listado.IdAnalisis;
                cabecera.ObservacionCtrl = listado.ObservacionCtrl;
                cabecera.Turno           = listado.Turno;
                return(cabecera);
            }
            return(listado);
        }
        public int EliminarAnalisisQuimico(CC_ANALISIS_QUIMICO_PRECOCCION_CTRL guardarModificar)
        {
            int valor = 0;

            using (ASIS_PRODEntities db = new ASIS_PRODEntities())
            {
                var model = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.FirstOrDefault(x => x.IdAnalisis == guardarModificar.IdAnalisis);
                if (model != null)
                {
                    model.EstadoRegistro          = guardarModificar.EstadoRegistro;
                    model.FechaModificacionLog    = guardarModificar.FechaIngresoLog;
                    model.TerminalModificacionLog = guardarModificar.TerminalIngresoLog;
                    model.UsuarioModificacionLog  = guardarModificar.UsuarioIngresoLog;
                    valor = 1;
                    db.SaveChanges();
                }
                return(valor);
            }
        }
        public int GuardarModificarAnalisisQuimico(CC_ANALISIS_QUIMICO_PRECOCCION_CTRL guardarModificar, int siAprobar)
        {
            int valor = 0;//GUARDDADO NUEVO

            using (ASIS_PRODEntities db = new ASIS_PRODEntities())
            {
                var validarNombreRepetido = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.FirstOrDefault(x => x.Fecha == guardarModificar.Fecha && x.Turno == guardarModificar.Turno && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                if (siAprobar != 1 && validarNombreRepetido != null && guardarModificar.IdAnalisis != validarNombreRepetido.IdAnalisis)
                {
                    valor = 5;
                    return(valor);
                }
                var model = db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.FirstOrDefault(x => x.IdAnalisis == guardarModificar.IdAnalisis && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                if (model != null)
                {
                    if (siAprobar == 1)
                    {
                        model.EstadoReporte = guardarModificar.EstadoReporte;
                        model.AprobadoPor   = guardarModificar.UsuarioIngresoLog;
                        model.FechaAprobado = guardarModificar.FechaAprobado;
                        valor = 2;//APRROBADO
                    }
                    else
                    {
                        if (guardarModificar.Fecha != DateTime.MinValue)
                        {
                            if (!string.IsNullOrEmpty(guardarModificar.ObservacionCtrl))
                            {
                                model.ObservacionCtrl = guardarModificar.ObservacionCtrl.ToUpper();
                            }
                            else
                            {
                                model.ObservacionCtrl = guardarModificar.ObservacionCtrl;
                            }
                            model.Fecha = guardarModificar.Fecha;

                            valor = 1;//ACTUALIZAR
                        }
                        else
                        {
                            valor = 3; //ERROR DE FECHA
                        }
                    }
                    model.FechaModificacionLog    = guardarModificar.FechaIngresoLog;
                    model.TerminalModificacionLog = guardarModificar.TerminalIngresoLog;
                    model.UsuarioModificacionLog  = guardarModificar.UsuarioIngresoLog;
                }
                else
                {
                    if (guardarModificar.Fecha != DateTime.MinValue)
                    {
                        if (!string.IsNullOrEmpty(guardarModificar.ObservacionCtrl))
                        {
                            guardarModificar.ObservacionCtrl = guardarModificar.ObservacionCtrl.ToUpper();
                        }
                        db.CC_ANALISIS_QUIMICO_PRECOCCION_CTRL.Add(guardarModificar);
                    }
                    else
                    {
                        valor = 3;
                    }
                }
                db.SaveChanges();
                return(valor);
            }
        }