Пример #1
0
        public ActionResult ReporteTransformador(SubmitViewModel model, DateTime FechaInicio, DateTime FechaFin)
        {
            using (var db = new DBContext())
            {
                Transformador trans         = db.Transformadores.FirstOrDefault(t => t.TransformadorID == model.IdSeleccionado);
                Reporte       reporteModelo = new Reporte("Transformador", trans.TransformadorID.ToString(), 0, FechaInicio, FechaFin);

                IEnumerable <Transformador> transformadores        = (IEnumerable <Transformador>)TransformadoresImp.transformadoresEnDb();//se carga lista de dispositivos
                List <SelectListItem>       dispositivosSelectList = new List <SelectListItem>();
                foreach (Transformador t in transformadores)
                {
                    dispositivosSelectList.Add(new SelectListItem()
                    {
                        Value = t.TransformadorID.ToString(), Text = t.TransformadorID.ToString()
                    });
                }
                ViewBag.IdSeleccionado = dispositivosSelectList;

                //if(reporte esta en mongo){find} else{ se crea y se guarda en mongo}
                var reportesEncontrados = Mongo.getReporte("Transformador", trans.TransformadorID.ToString(), FechaInicio, FechaFin);
                if (reportesEncontrados.ToList <Reporte>().Count > 0)
                {
                    var reporte = reportesEncontrados.ToList <Reporte>()[0];
                    ViewBag.consumo = "Consumo: " + reporte.consumo.ToString() + "Kw";
                }
                else
                {
                    reporteModelo.consumo = trans.EnergiaQueEstaSuministrando(FechaInicio, FechaFin);
                    ViewBag.consumo       = "Consumo: " + reporteModelo.consumo.ToString() + "Kw";
                    Mongo.insertarReporte(reporteModelo);
                }
                ViewBag.fechas = FechaInicio.ToShortDateString() + " - " + FechaFin.ToShortDateString();
                ViewBag.nombre = trans.TransformadorID.ToString();
            }
            return(View());
        }