예제 #1
0
        public JsonResult Grafico_Donut(Busqueda_Model modelo)
        {
            try
            {
                var db    = new mmsEntities();
                var lista = db.ingresos.Where(x => x.Id_Entidad == ID_Entidad && x.Fecha >= modelo.Fecha_Desde.Date && x.Fecha <= modelo.Fecha_Hasta.Date && x.Activo).ToList()
                            .Where(x => (modelo.Cate == null || x.Id_Categoria == modelo.Cate.Id) &&
                                   (modelo.Tipo == null || x.Id_Tipo == modelo.Tipo.id) &&
                                   (modelo.SubCate == null || x.Id_SubCategoria == modelo.SubCate.Id)).OrderByDescending(p => p.id).ToList();

                var GraficoCate = lista.Where(p => (modelo.Cate == null || p.Id_Categoria == modelo.Cate.Id) && (modelo.SubCate == null || p.Id_SubCategoria == modelo.SubCate.Id)).GroupBy(x => x.combo_sub_categoria.Nombre).ToList();
                var resultado   = new List <Morris_Donut>();
                var dato        = new Morris_Donut
                {
                    element = "morris-donut-chart",
                    data    = GraficoCate.Select(p => new Datos_Donut {
                        label = p.Key, value = p.Sum(q => Math.Round(q.Precio.Value))
                    }).ToList(),
                    resize = true
                };
                resultado.Add(dato);
                return(Json(ResultadoJson <Morris_Donut> .ResultadoCorrecto(resultado)));
            }
            catch (Exception ex)
            {
                return(Json(ResultadoJson <Morris_Donut> .ResultadoInCorrecto(ex.Message)));

                throw;
            }
        }
예제 #2
0
        public JsonResult BusquedaGeneral(Busqueda_Model modelo)
        {
            try
            {
                var db          = new mmsEntities();
                var lista       = new List <ingresos>();
                var Reporte_Bar = new List <ingresos>();
                if (modelo.detallado)
                {
                    lista = db.ingresos.Where(x => x.Id_Entidad == ID_Entidad && x.Fecha >= modelo.Fecha_Desde.Date && x.Fecha <= modelo.Fecha_Hasta.Date && x.Activo).ToList()
                            .Where(x => (modelo.Cate == null || x.Id_Categoria == modelo.Cate.Id) &&
                                   (modelo.Tipo == null || x.Id_Tipo == modelo.Tipo.id) &&
                                   (modelo.SubCate == null || x.Id_SubCategoria == modelo.SubCate.Id)).OrderByDescending(p => p.id).ToList();

                    //lista = lista.Where(x => );
                    //  lista = db.ingresos.Where(x => x.Id_Entidad == ID_Entidad && x.combo_categoria.Nombre.ToString() == modelo.Cate.Nombre.ToString() && x.combo_tipo.Nombre.ToString() == modelo.Tipo.Nombre.ToString() && x.combo_sub_categoria.Nombre.ToString() == modelo.SubCate.Nombre.ToString()
                    // && x.Fecha >= modelo.Fecha_Desde.Date && x.Fecha <= modelo.Fecha_Hasta.Date && x.Activo).OrderByDescending(p => p.id).ToList();
                }
                else
                {
                    lista = db.ingresos.Where(x => x.Id_Entidad == ID_Entidad && x.Fecha >= modelo.Fecha_Desde.Date && x.Fecha <= modelo.Fecha_Hasta.Date && x.Activo).OrderByDescending(p => p.id).ToList();
                }


                var resultado = new List <Home_Model>();

                foreach (var item in lista)
                {
                    var grafico = lista.GroupBy(x => x.combo_categoria.Nombre).ToList();
                    resultado.Add(new Home_Model

                    {
                        Id   = item.id,
                        Cate = new Combo_Categorias()
                        {
                            Id     = item.combo_categoria.id != null ? item.combo_categoria.id : 0,
                            Nombre = item.combo_categoria.Nombre != null ? item.combo_categoria.Nombre : null
                        },
                        SubCate = new Combo_Sub_Categorias()
                        {
                            Id     = item.combo_sub_categoria.id != null ? item.combo_sub_categoria.id : 0,
                            Nombre = item.combo_sub_categoria.Nombre != null ? item.combo_sub_categoria.Nombre : null
                        },

                        Observacion = item.Observación,
                        Tipo        = new Combo_Tipo()
                        {
                            id = item.combo_tipo.id, Nombre = item.combo_tipo.Nombre
                        },
                        Forma_Pago = new Combo_FormaPago()
                        {
                            Id = item.combo_forma_pago.id, Nombre = item.combo_forma_pago.Nombre
                        },
                        Precio = item.Precio.Value,
                        Fecha  = item.Fecha,

                        Grafico = new Reportes_Model()
                        {
                            MBar = new Morris_Bar()
                            {
                                element = "morris-bar-chart",
                                data    = grafico.Select(p => new Datos {
                                    Nombre = p.Key, Total = p.Sum(q => Math.Round(q.Precio.Value))
                                }).ToList(),
                                xkey      = "Nombre",
                                ykeys     = { { "Total" } },
                                hideHover = "auto",
                                resize    = true,
                                labels    = { "Total" }
                            }
                        }
                    });
                }

                var res = Json(ResultadoJson <Home_Model> .ResultadoCorrecto(resultado));
                res.MaxJsonLength = int.MaxValue;
                return(res);
            }

            catch (Exception ex)
            {
                return(Json(ResultadoJson <Home_Model> .ResultadoInCorrecto(ex.Message)));

                throw;
            }
        }