Пример #1
0
        public static GraficoBean ReporteGraficoExcesoTiempo(OportunidadBean item)
        {
            var dt = ReporteModel.ReporteGraficoExcesoTiempo(item);

            var result = new GraficoItemBean();
            var lst    = new List <OportunidadBean>();

            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    var reporte = new OportunidadBean()
                    {
                        Estado   = row["Estado"].ToString(),
                        Etapa    = row["Etapa"].ToString(),
                        Cantidad = row["cantidad"].ToString(),
                    };

                    lst.Add(reporte);
                }
            }
            // var data = lst
            //.GroupBy(p => p.Etapa)
            //.Select(g => g.FirstOrDefault())
            //.ToArray();

            String[] categorias             = lst.Select(s => s.Etapa).Distinct().ToArray();
            String[] estados                = lst.Select(s => s.Estado).Distinct().ToArray();
            List <GraficoItem2Bean> lGrafic = new List <GraficoItem2Bean>();

            foreach (var es in estados)
            {
                GraficoItem2Bean eGraf = new GraficoItem2Bean();
                eGraf.name = es;
                int       j      = 0;
                Decimal[] dataEt = new Decimal[categorias.Length];
                foreach (var cat in categorias)
                {
                    var cant = lst.Find(x => x.Estado == es && x.Etapa == cat);
                    if (cant != null)
                    {
                        dataEt[j] = Decimal.Parse(cant.Cantidad);
                    }
                    else
                    {
                        dataEt[j] = 0;
                    }
                    j++;
                }
                eGraf.data = dataEt;
                lGrafic.Add(eGraf);
            }
            GraficoBean lPadreGrafic = new GraficoBean {
                categorias = categorias, itemsArr = lGrafic
            };

            return(lPadreGrafic);
        }
Пример #2
0
    public static dynamic reporteGrafico(String fechaini, String fechafin, String coordinador, String responsable, String estado, String etapa, String tipoTotal)
    {
        try
        {
            String usuaSession = HttpContext.Current.Session["lgn_id"].ToString();


            fechaini = Utils.getStringFechaYYMMDDHHMM(fechaini);
            fechafin = Utils.getStringFechaYYMMDDHHMM(fechafin);

            OportunidadBean eOport = new OportunidadBean
            {
                FechaInicio = fechaini,
                FechaFin    = fechafin,
                Coordinador = coordinador,
                Responsable = responsable,
                Estado      = estado,
                Etapa       = etapa,
                UsuSession  = usuaSession,
                tipoTotal   = tipoTotal
            };
            String tituloPye = "Exceso Tiempo en Etapas";
            if (tipoTotal == "2")
            {
                tituloPye = "Total TM Estimado";
            }
            var data = ReporteController.ReporteGraficoExcesoTiempo(eOport);
            var dashEtapasPorEstado = new GraficoBean
            {
                Titulo     = tituloPye,
                itemsArr   = data.itemsArr,
                categorias = data.categorias,
                SubTitulo  = "Oportunidades",
            };


            return(new { dashEtapasPorEstado = dashEtapasPorEstado });
        }
        catch (Exception ex)
        {
            LogHelper.LogException(ex, "Error :ExcesoTiempo_grafico : ");
            return(new List <ListItem>());
        }
    }