public Notificacion <List <Categoria> > ObtenerTopTen(EnumTipoReporteGrafico idTipoReporte, EnumTipoGrafico idTipoGrafico) { Notificacion <List <Categoria> > categoria = new Notificacion <List <Categoria> >(); try { using (db = new SqlConnection(ConfigurationManager.AppSettings["conexionString"].ToString())) { var parameters = new DynamicParameters(); parameters.Add("@idTipoReporte", idTipoReporte); parameters.Add("@idTipoGrafico", idTipoGrafico); var rs = db.QueryMultiple("SP_DASHBOARD_CONSULTA_TOP_TEN", parameters, commandType: CommandType.StoredProcedure); var rs1 = rs.ReadFirst(); if (rs1.status == 200) { categoria.Estatus = rs1.status; categoria.Mensaje = rs1.mensaje; categoria.Modelo = rs.Read <Categoria>().ToList(); } else { categoria.Estatus = rs1.status; categoria.Mensaje = rs1.mensaje; } } } catch (Exception ex) { throw ex; } return(categoria); }
public Notificacion <List <Categoria> > ObtenerEntradasSalidasPorProducto(DateTime?fechaIni, DateTime?fechaFin, EnumTipoReporteGrafico idTipoReporte, EnumTipoGrafico enumTipoGrafico) { Notificacion <List <Categoria> > notificacion = new Notificacion <List <Categoria> >(); try { using (db = new SqlConnection(ConfigurationManager.AppSettings["conexionString"].ToString())) { var parameters = new DynamicParameters(); parameters.Add("@fechaIni", fechaIni == DateTime.MinValue ? (object)null : fechaIni); parameters.Add("@fechaFin", fechaFin == DateTime.MinValue ? (object)null : fechaFin); parameters.Add("@idTipoInventario", enumTipoGrafico == EnumTipoGrafico.EntradasPorFecha ? 2 : 3); var rs = db.QueryMultiple("SP_DASHBOARD_CONSULTA_TOTAL_ENTRADAS_SALIDAS_POR_PRODUCTO", parameters, commandType: CommandType.StoredProcedure); var rs1 = rs.ReadFirst(); if (rs1.status == 200) { notificacion.Estatus = rs1.status; notificacion.Mensaje = rs1.mensaje; notificacion.Modelo = rs.Read <Categoria>().ToList(); } else { notificacion.Estatus = rs1.status; notificacion.Mensaje = rs1.mensaje; } } } catch (Exception ex) { throw ex; } return(notificacion); }
public ActionResult _Grafico(EnumTipoGrafico tipoGrafico, EnumTipoReporteGrafico tipoReporteGrafico) { DashboardDAO dao = new DashboardDAO(); Notificacion <Grafico> grafico = new Notificacion <Grafico>(); if ((tipoGrafico == EnumTipoGrafico.EntradasPorFecha) || (tipoGrafico == EnumTipoGrafico.SalidasPorFecha)) { //Notificacion<List<Estacion>> estaciones = dao.ObtenerVentasEstacion(); Notificacion <List <Categoria> > categorias = dao.ObtenerEntradasSalidasPorFecha(tipoReporteGrafico, tipoGrafico); grafico.Estatus = categorias.Estatus; grafico.Mensaje = categorias.Mensaje; List <Data> dataProductos = new List <Data>(); List <seriesDrilldown> SeriesDrilldown = new List <seriesDrilldown>(); if (categorias.Estatus == 200) { foreach (Categoria categoria in categorias.Modelo) { Data data = new Data(); data.name = categoria.categoria; data.y = categoria.total; Notificacion <List <Categoria> > productos = dao.ObtenerEntradasSalidasPorProducto(categoria.fechaIni, categoria.fechaFin, tipoReporteGrafico, tipoGrafico); if (productos.Estatus == 200) { List <List <Object> > DataDrilldown = new List <List <Object> >(); foreach (Categoria e in productos.Modelo) { DataDrilldown.Add(new List <Object>() { e.categoria.ToString(), e.total }); } SeriesDrilldown.Add(new seriesDrilldown() { id = categoria.id + "_" + categoria.categoria, name = categoria.categoria, data = DataDrilldown }); } data.drilldown = categoria.id + "_" + categoria.categoria; dataProductos.Add(data); } grafico.Modelo = new Grafico(); if (dataProductos.Count > 0) { grafico.Estatus = 200; grafico.Modelo.data = dataProductos; grafico.Modelo.seriesDrilldowns = SeriesDrilldown; } else { grafico.Estatus = -1; grafico.Mensaje = "No existe información para mostrar"; } } } if (tipoGrafico == EnumTipoGrafico.TopTenProductosEntrantes || tipoGrafico == EnumTipoGrafico.TopTenProductosSalientes) { Notificacion <List <Categoria> > categorias = dao.ObtenerTopTen(tipoReporteGrafico, tipoGrafico); grafico.Estatus = categorias.Estatus; grafico.Mensaje = categorias.Mensaje; if (categorias.Estatus == 200) { grafico.Modelo = new Grafico(); grafico.Modelo.data = new List <Data>(); //grafico.Modelo.categorias = categorias.Modelo; foreach (Categoria categoria in categorias.Modelo) { Data data = new Data(); data.name = categoria.categoria; data.y = categoria.total; grafico.Modelo.data.Add(data); } } } ViewBag.tipoGrafico = tipoGrafico; ViewBag.tipoReporteGrafico = tipoReporteGrafico; return(PartialView(grafico)); }