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(); } }
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()); } }