예제 #1
0
        public ActionResult Validar(int id)
        {
            try
            {
                Relevamientos objRelevamiento = (from obj in db.Relevamientos where obj.IdRelevamiento == id select obj).First();
                var objCantAuto = from objLecturas in db.Lecturas
                                  from objInsectos in db.Insectos
                                  where objLecturas.Frecuencia <= objInsectos.FrecuenciaMax && objLecturas.Frecuencia >= objInsectos.FrecuenciaMin && objLecturas.IdRelevamiento == id
                                  group objInsectos by objInsectos.IdInsecto into objGrupo
                                  select new
                                  {
                                      IdInsecto = objGrupo.Key,
                                      CantAuto = objGrupo.Count()
                                  };

                var objCantMan = from objLecturasManuales in db.LecturasManuales
                                 from objInsectos in db.Insectos
                                 where objLecturasManuales.IdInsecto == objInsectos.IdInsecto && objLecturasManuales.IdRelevamiento == id
                                 select new
                                 {
                                     objInsectos.IdInsecto,
                                     CantMan = objLecturasManuales.Cantidad
                                 };

                var objTablaTotales = (from objIN in db.Insectos
                                       join objCA in objCantAuto on objIN.IdInsecto equals objCA.IdInsecto into temporalCA
                                       join objCM in objCantMan on objIN.IdInsecto equals objCM.IdInsecto into temporalCM
                                       from tmpCA in temporalCA.DefaultIfEmpty()
                                       from tmpCM in temporalCM.DefaultIfEmpty()
                                       where tmpCA.CantAuto > 0 || tmpCM.CantMan > 0
                                       select new TablaTotales()
                                       {
                                           Insecto = objIN.NombreCientifico,
                                           CantidadAutomatica = (tmpCA == null ? 0 : tmpCA.CantAuto),
                                           CantidadManual = (tmpCM == null ? 0 : tmpCM.CantMan)
                                       }).ToList<TablaTotales>();

                var objAlarmasTotales = (from objAlarmas in db.Alarmas
                                         from objInsectos in db.Insectos
                                         where objAlarmas.IdRelevamiento == id
                                         && objAlarmas.IdInsecto == objInsectos.IdInsecto
                                         select new TablaAlarmas()
                                         {
                                             Insecto = objInsectos.NombreCientifico,
                                             CantidadMaxima = objAlarmas.ValorMaximo,
                                             CantidadReal = objAlarmas.Cantidad,
                                             Tipo = objAlarmas.Tipo,
                                             Estado = objAlarmas.Estados.Nombre
                                         }).ToList<TablaAlarmas>();

                DatosParaValidar objDatosParaValidar = new DatosParaValidar();
                objDatosParaValidar.Relevamiento = objRelevamiento;
                objDatosParaValidar.Totales = objTablaTotales;
                objDatosParaValidar.Alarmas = objAlarmasTotales;

                return View(objDatosParaValidar);
            }
            catch (Exception ex)
            {
                return View();
            }
        }
예제 #2
0
        public ActionResult Validar(int id)
        {
            try
            {
                Relevamientos objRelevamiento = (from obj in db.Relevamientos where obj.IdRelevamiento == id select obj).First();
                var           objCantAuto     = from objLecturas in db.Lecturas
                                                from objInsectos in db.Insectos
                                                where objLecturas.Frecuencia <= objInsectos.FrecuenciaMax && objLecturas.Frecuencia >= objInsectos.FrecuenciaMin && objLecturas.IdRelevamiento == id
                                                group objInsectos by objInsectos.IdInsecto into objGrupo
                                                select new
                {
                    IdInsecto = objGrupo.Key,
                    CantAuto  = objGrupo.Count()
                };

                var objCantMan = from objLecturasManuales in db.LecturasManuales
                                 from objInsectos in db.Insectos
                                 where objLecturasManuales.IdInsecto == objInsectos.IdInsecto && objLecturasManuales.IdRelevamiento == id
                                 select new
                {
                    objInsectos.IdInsecto,
                    CantMan = objLecturasManuales.Cantidad
                };

                var objTablaTotales = (from objIN in db.Insectos
                                       join objCA in objCantAuto on objIN.IdInsecto equals objCA.IdInsecto into temporalCA
                                       join objCM in objCantMan on objIN.IdInsecto equals objCM.IdInsecto into temporalCM
                                       from tmpCA in temporalCA.DefaultIfEmpty()
                                       from tmpCM in temporalCM.DefaultIfEmpty()
                                       where tmpCA.CantAuto > 0 || tmpCM.CantMan > 0
                                       select new TablaTotales()
                {
                    Insecto = objIN.NombreCientifico,
                    CantidadAutomatica = (tmpCA == null ? 0 : tmpCA.CantAuto),
                    CantidadManual = (tmpCM == null ? 0 : tmpCM.CantMan)
                }).ToList <TablaTotales>();

                var objAlarmasTotales = (from objAlarmas in db.Alarmas
                                         from objInsectos in db.Insectos
                                         where objAlarmas.IdRelevamiento == id &&
                                         objAlarmas.IdInsecto == objInsectos.IdInsecto
                                         select new TablaAlarmas()
                {
                    Insecto = objInsectos.NombreCientifico,
                    CantidadMaxima = objAlarmas.ValorMaximo,
                    CantidadReal = objAlarmas.Cantidad,
                    Tipo = objAlarmas.Tipo,
                    Estado = objAlarmas.Estados.Nombre
                }).ToList <TablaAlarmas>();

                DatosParaValidar objDatosParaValidar = new DatosParaValidar();
                objDatosParaValidar.Relevamiento = objRelevamiento;
                objDatosParaValidar.Totales      = objTablaTotales;
                objDatosParaValidar.Alarmas      = objAlarmasTotales;



                return(View(objDatosParaValidar));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }