Ejemplo n.º 1
0
        public void InitializePieChart()
        {
            var series = new DonutSeries();

            var configConnectionString = ConfigurationManager.ConnectionStrings["mongodb"].ConnectionString;
            var client            = new MongoClient(configConnectionString);
            var database          = client.GetDatabase("projectdb");
            var projectCollection = database.GetCollection <Project>("projectdbcollection");

            var projectCollectionQueryable = projectCollection.AsQueryable();
            var projectCollectionList      = projectCollectionQueryable.ToList();



            if (projectCollectionList.First().Categories != null)
            {
                foreach (var category in projectCollectionList.First().Categories)
                {
                    if (category.Amount > 0)
                    {
                        series.DataPoints.Add(
                            new PieDataPoint(Convert.ToDouble(category.Amount), category.CategoryName));
                    }
                }
            }

            radChartViewCategories.Series.Add(series);
            radChartViewCategories.Area.View.Palette = KnownPalette.Arctic;
        }
Ejemplo n.º 2
0
        private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt, string titulo)
        {
            try
            {
                switch (ucFiltroFechasGrafico.TipoPeriodo)
                {
                case 1:
                    lblPieGeneral.Text = string.Format("Diario: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 2:
                    lblPieGeneral.Text = string.Format("Semanal: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 3:
                    lblPieGeneral.Text = string.Format("Mensual: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToString("MMM"),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToString("MMM"));
                    break;

                case 4:
                    lblPieGeneral.Text = string.Format("Anual: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;
                }
                grafico.PlotArea.Series.Clear();
                grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom;

                DonutSeries pieSerie = new DonutSeries();
                pieSerie.Appearance.Overlay.Gradient = Gradients.None;
                pieSerie.DataFieldY = "Total";
                pieSerie.NameField  = "Descripcion";
                pieSerie.ColorField = "Color";
                pieSerie.LabelsAppearance.Visible  = true;
                pieSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center;

                grafico.Legend.Appearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.Legend.Appearance.TextStyle.FontSize   = 10;

                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize   = 10;
                grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontSize   = 10;

                grafico.PlotArea.Series.Add(pieSerie);
                grafico.DataSource = dt;
                grafico.DataBind();
            }
            catch (Exception ex)
            {
                throw new Exception("Error al generar pie: " + ex.Message);
            }
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                List <CobSaldosNiveles> Lista = new List <CobSaldosNiveles>();
                PieSeriesItem           si;
                CN_ClientesMayorAdeudo.RegresaCuentasPorPagadas(Sesion.Fecha_Cierre, Sesion.Dias_Revision, Sesion.Id_Cte, Sesion.Emp_Cnx, ref Lista);
                int   i = 1;
                float carteratotal = 0, varporcentaje = 0;

                DonutSeries ds = new DonutSeries();

                foreach (CobSaldosNiveles saldo in Lista)
                {
                    carteratotal = carteratotal + saldo.Restante;
                }

                foreach (CobSaldosNiveles saldo in Lista)
                {
                    datos         = saldo;
                    varporcentaje = (saldo.Restante * 100) / carteratotal;
                    si            = new PieSeriesItem(Math.Round((decimal)saldo.Restante, 3), Regresacolor(saldo.Cdi), (saldo.Cdi + " - " + saldo.Cd_Nombre) + ' ' + Math.Round(varporcentaje, 1).ToString() + " %");
                    ds.SeriesItems.Add(si);
                    i++;
                }

                Random randObj = new Random(DateTime.Now.Millisecond);
                HF_Cve.Value = randObj.Next().ToString();

                RcGrafica.ChartTitle.Text = Sesion.Cte_Nombre + " Pendiente por cobrar   " + carteratotal.ToString("C2");

                ds.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Column;

                ds.LabelsAppearance.DataFormatString   = "{0:N2}";
                ds.TooltipsAppearance.Visible          = true;
                ds.TooltipsAppearance.DataFormatString = "{0}";

                RcGrafica.PlotArea.Series.Add(ds);
                RcGrafica.DataBind();
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
        private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt)
        {
            grafico.PlotArea.Series.Clear();
            grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom;
            DonutSeries donutSerie = new DonutSeries();

            donutSerie.DataFieldY = "Total";
            donutSerie.ColorField = "Color";
            donutSerie.NameField  = "Descripcion";
            donutSerie.LabelsAppearance.Visible  = true;
            donutSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center;

            grafico.PlotArea.Series.Add(donutSerie);
            grafico.DataSource = dt;
            grafico.DataBind();
        }
Ejemplo n.º 5
0
 private static void DonutSerie(RadHtmlChart grafico, string explodeField, string dataField, string nameField, string colorField, string dataFormatTooltip)
 {
     try
     {
         DonutSeries donutSerie = new DonutSeries();
         donutSerie.Appearance.Overlay.Gradient = GradientsSerie;
         donutSerie.ExplodeField              = explodeField;
         donutSerie.DataFieldY                = dataField;
         donutSerie.NameField                 = nameField;
         donutSerie.ColorField                = colorField;
         donutSerie.LabelsAppearance.Visible  = true;
         donutSerie.LabelsAppearance.Position = DonutLabelsPosition;
         grafico.PlotArea.Series.Add(donutSerie);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            double PorPagar = 0, varPorPagar = 0, Pagado = 0, varPagado = 0;

            try
            {
                Sesion Sesion = new Sesion();
                Sesion            = (Sesion)Session["Sesion" + Session.SessionID];
                Sesion.Id_Cte     = int.Parse(Request.QueryString["Id_Cte"]);
                Sesion.Cte_Nombre = Request.QueryString["Cte_Nombre"];
                CN_ClientesMayorAdeudo.RegresaAdeudoCliente(Sesion.Fecha_Cierre, Sesion.Fecha_Corte, Sesion.Dias_Revision, Sesion.Id_Cte, Sesion.Emp_Cnx, ref PorPagar, ref Pagado);

                double total = PorPagar + Pagado;
                varPorPagar = (PorPagar * 100) / total;
                varPagado   = (Pagado * 100) / total;

                PieSeriesItem s1 = new PieSeriesItem(Math.Round((decimal)PorPagar, 3), System.Drawing.Color.Red, "Por Cobrar " + Math.Round(varPorPagar, 1).ToString() + "%", false);
                PieSeriesItem s2 = new PieSeriesItem(Math.Round((decimal)Pagado, 3), System.Drawing.Color.Green, "Cobrado " + Math.Round(varPagado, 1).ToString() + "%", true);

                DonutSeries ds = new DonutSeries();
                ds.SeriesItems.Add(s1);
                ds.SeriesItems.Add(s2);

                ds.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Circle;
                RcGrafica.ChartTitle.Text    = Sesion.Cte_Nombre + "    " + total.ToString("C2");

                ds.LabelsAppearance.DataFormatString   = "{0:N2}";
                ds.TooltipsAppearance.Visible          = true;
                ds.TooltipsAppearance.DataFormatString = "{0:N2}";

                RcGrafica.PlotArea.Series.Add(ds);
                RcGrafica.DataBind();
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 7
0
        private DonutSeries PopulateDonutSeries()
        {
            var students = universityLocalContext.Students;

            int networkingStudensCount       = 0;
            int electronicsStudentsCount     = 0;
            int computerScienceStudentsCount = 0;

            foreach (var student in students)
            {
                if (student.Specialty.Equals("Networking"))
                {
                    networkingStudensCount++;
                }
                else if (student.Specialty.Equals("Computer Science"))
                {
                    computerScienceStudentsCount++;
                }
                else if (student.Specialty.Equals("Electronics"))
                {
                    electronicsStudentsCount++;
                }
            }

            var pieSeries = new DonutSeries();

            pieSeries.ShowLabels   = true;
            pieSeries.LabelFormat  = "{0:P2}";
            pieSeries.RadiusFactor = 0.9f;
            pieSeries.Range        = new AngleRange(270, 360);

            pieSeries.DataPoints.Add(new PieDataPoint(networkingStudensCount, "Networking"));
            pieSeries.DataPoints.Add(new PieDataPoint(computerScienceStudentsCount, "Computer Science"));
            pieSeries.DataPoints.Add(new PieDataPoint(electronicsStudentsCount, "Electronics"));

            return(pieSeries);
        }
Ejemplo n.º 8
0
        private void GeneraGraficaStackedPie(RadHtmlChart grafico, DataTable dt)
        {
            try
            {
                grafico.ChartTitle.Appearance.Visible = false;
                switch (ucFiltrosTicketUbicacion.TipoPeriodo)
                {
                case 1:
                    lblPieGeneral.Text = string.Format("Diario: {0} - {1}",
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 2:
                    lblPieGeneral.Text = string.Format("Semanal: {0} - {1}",
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 3:
                    lblPieGeneral.Text = string.Format("Mensual: {0} - {1}",
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToString("MMM"),
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToString("MMM"));
                    break;

                case 4:
                    lblPieGeneral.Text = string.Format("Anual: {0} - {1}",
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? "Historico" : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltrosTicketUbicacion.FiltroFechas == null ? string.Empty : ucFiltrosTicketUbicacion.FiltroFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;
                }
                grafico.PlotArea.Series.Clear();
                List <ParetoArry> lstPareto = null;
                if (dt != null)
                {
                    lstPareto = (dt.Rows.Cast <DataRow>().Select(dataRow => new ParetoArry {
                        Id = int.Parse(dataRow[0].ToString()), Descripcion = dataRow[1].ToString(), Color = dataRow[2].ToString()
                    })).ToList();

                    for (int row = 0; row < dt.Rows.Count; row++)
                    {
                        decimal total = 0;
                        for (int i = 3; i < dt.Columns.Count; i++)
                        {
                            total += decimal.Parse(dt.Rows[row][i].ToString());
                        }
                        lstPareto.Single(s => s.Id == int.Parse(dt.Rows[row][0].ToString())).Total = total;
                    }

                    lstPareto = lstPareto.OrderByDescending(o => o.Total).ToList();
                    DonutSeries donutSerie = new DonutSeries();
                    donutSerie.Appearance.Overlay.Gradient = Gradients.None;
                    donutSerie.ExplodeField              = "false";
                    donutSerie.DataFieldY                = "Total";
                    donutSerie.NameField                 = "Descripcion";
                    donutSerie.ColorField                = "Color";
                    donutSerie.LabelsAppearance.Visible  = true;
                    donutSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center;

                    grafico.Legend.Appearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                    grafico.Legend.Appearance.TextStyle.FontSize   = 10;

                    grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                    grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize   = 10;
                    grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                    grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontSize   = 10;

                    grafico.PlotArea.Series.Add(donutSerie);
                }

                //}
                grafico.DataSource = lstPareto;
                grafico.DataBind();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }