Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }