private void generaGrafica(string cliente, string año, string empresa) { DonutChart.Legend.Appearance.Position = Telerik.Web.UI.HtmlChart.ChartLegendPosition.Bottom; DonutChart.PlotArea.Series.Clear(); Telerik.Web.UI.DonutSeries serieRec = new Telerik.Web.UI.DonutSeries(); serieRec.StartAngle = 0; serieRec.HoleSize = 0; serieRec.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieAndDonutLabelsPosition.OutsideEnd; serieRec.LabelsAppearance.DataFormatString = "{0:F2} %"; serieRec.LabelsAppearance.Visible = true; serieRec.TooltipsAppearance.BackgroundColor = Color.Black; serieRec.TooltipsAppearance.Color = Color.White; serieRec.TooltipsAppearance.DataFormatString = "{0:F2} %"; Telerik.Web.UI.PieSeriesItem cRec = new Telerik.Web.UI.PieSeriesItem(); Telerik.Web.UI.PieSeriesItem cPag = new Telerik.Web.UI.PieSeriesItem(); Telerik.Web.UI.PieSeriesItem cOt = new Telerik.Web.UI.PieSeriesItem(); decimal pagados = 0, rechazados = 0, sucursal = 0; try { DataSet info = datos.obtienePorcentajes(cliente, empresa, año); foreach (DataRow r in info.Tables[0].Rows) { pagados = (Convert.ToDecimal(r[0]) / Convert.ToDecimal(r[3])) * 100; rechazados = (Convert.ToDecimal(r[1]) / Convert.ToDecimal(r[3])) * 100; sucursal = (Convert.ToDecimal(r[2]) / Convert.ToDecimal(r[3])) * 100; } } catch (Exception ex) { pagados = rechazados = sucursal = 0; } cRec.Y = Convert.ToDecimal(rechazados.ToString()); cPag.Y = Convert.ToDecimal(pagados.ToString()); cOt.Y = Convert.ToDecimal(sucursal.ToString()); cRec.Exploded = cPag.Exploded = cOt.Exploded = false; cRec.BackgroundColor = Color.FromArgb(255, 69, 0); cPag.BackgroundColor = Color.FromArgb(50, 205, 50); cOt.BackgroundColor = Color.FromArgb(135, 206, 250); cRec.Name = "Pagado"; cPag.Name = "Rechazado"; cOt.Name = "Pago Sucursal"; serieRec.SeriesItems.Add(cRec); serieRec.SeriesItems.Add(cPag); serieRec.SeriesItems.Add(cOt); DonutChart.PlotArea.Series.Add(serieRec); }
protected void dtUsuarios_ItemDataBound(object sender, DataListItemEventArgs e) { Fechas fechas = new Fechas(); Telerik.Web.UI.RadHtmlChart grafica = (Telerik.Web.UI.RadHtmlChart)e.Item.FindControl("DonutChartUsuario") as Telerik.Web.UI.RadHtmlChart; Telerik.Web.UI.RadGrid radGridAltaUser = (Telerik.Web.UI.RadGrid)e.Item.FindControl("radGridAltaUser") as Telerik.Web.UI.RadGrid; Telerik.Web.UI.RadGrid radGridBajasUser = (Telerik.Web.UI.RadGrid)e.Item.FindControl("radGridBajasUser") as Telerik.Web.UI.RadGrid; Telerik.Web.UI.RadGrid radGridBajasInmediatasUser = (Telerik.Web.UI.RadGrid)e.Item.FindControl("radGridBajasInmediatasUser") as Telerik.Web.UI.RadGrid; Telerik.Web.UI.RadTabStrip RadTabStrip1 = (Telerik.Web.UI.RadTabStrip)e.Item.FindControl("RadTabStrip1") as Telerik.Web.UI.RadTabStrip; Telerik.Web.UI.RadMultiPage RadMultiPage1 = (Telerik.Web.UI.RadMultiPage)e.Item.FindControl("RadMultiPage1") as Telerik.Web.UI.RadMultiPage; Label lblIdUsuario = (Label)e.Item.FindControl("lblIdUsuario") as Label; string usuario = lblIdUsuario.Text; Datos datos = new Datos(); int empresa = 0; try { empresa = Convert.ToInt32(Session["e"]); } catch (Exception) { Response.Redirect("Default.aspx"); } DataTable dtA = new DataTable(); DataTable dtB = new DataTable(); DataTable dtBI = new DataTable(); DateTime fecha_inicio; DateTime fecha_final; string periodo = ddlPeriodo.SelectedValue; Label[] periodos = { Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10, Label11, Label12 }; string año = ddlAños.SelectedValue; string periodo_indicado = "1"; if (año == "") { año = fechas.obtieneFechaLocal().Year.ToString(); } if (periodo == "0") { fecha_inicio = Convert.ToDateTime("01/" + periodo_indicado.PadLeft(2, '0') + "/" + año); fecha_final = fecha_inicio.AddYears(1); fecha_final = fecha_final.AddDays(-1); } else { fecha_inicio = Convert.ToDateTime("01/" + periodo.PadLeft(2, '0') + "/" + año); fecha_final = fecha_inicio.AddMonths(1); fecha_final = fecha_final.AddDays(-1); } dtA = datos.obtieneInformacionAltaUsuarios(usuario, empresa.ToString(), fecha_inicio, fecha_final); radGridAltaUser.DataSource = dtA; radGridAltaUser.DataBind(); dtB = datos.obtieneInformacionBajasUsuarios(usuario, empresa.ToString(), fecha_inicio, fecha_final); radGridBajasUser.DataSource = dtB; radGridBajasUser.DataBind(); dtBI = datos.obtieneInformacionBajasInmeditasUsuarios(usuario, empresa.ToString(), fecha_inicio, fecha_final); radGridBajasInmediatasUser.DataSource = dtBI; radGridBajasInmediatasUser.DataBind(); int altas = dtA.Rows.Count; int bajas = dtB.Rows.Count; int bajasInm = dtBI.Rows.Count; if (altas == 0 && bajas != 0 && bajasInm == 0) { RadTabStrip1.SelectedIndex = RadMultiPage1.SelectedIndex = 1; } else if (altas != 0 && bajas == 0 && bajasInm == 0) { RadTabStrip1.SelectedIndex = RadMultiPage1.SelectedIndex = 0; } else if (altas == 0 && bajas == 0 && bajasInm != 0) { RadTabStrip1.SelectedIndex = RadMultiPage1.SelectedIndex = 2; } else { RadTabStrip1.SelectedIndex = RadMultiPage1.SelectedIndex = 0; } int dato = Convert.ToInt32(periodo); grafica.Legend.Appearance.Position = Telerik.Web.UI.HtmlChart.ChartLegendPosition.Bottom; grafica.PlotArea.Series.Clear(); Telerik.Web.UI.DonutSeries serieRec = new Telerik.Web.UI.DonutSeries(); serieRec.StartAngle = 0; serieRec.HoleSize = 0; serieRec.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieAndDonutLabelsPosition.OutsideEnd; serieRec.LabelsAppearance.DataFormatString = "{0}"; serieRec.LabelsAppearance.Visible = true; serieRec.TooltipsAppearance.BackgroundColor = Color.Black; serieRec.TooltipsAppearance.Color = Color.White; serieRec.TooltipsAppearance.DataFormatString = "{0}"; Telerik.Web.UI.PieSeriesItem cRec = new Telerik.Web.UI.PieSeriesItem(); Telerik.Web.UI.PieSeriesItem cPag = new Telerik.Web.UI.PieSeriesItem(); Telerik.Web.UI.PieSeriesItem cOt = new Telerik.Web.UI.PieSeriesItem(); cRec.Y = Convert.ToDecimal(bajas.ToString()); cPag.Y = Convert.ToDecimal(altas.ToString()); cOt.Y = Convert.ToDecimal(bajasInm.ToString()); cRec.Exploded = cPag.Exploded = cOt.Exploded = false; cRec.BackgroundColor = Color.FromArgb(255, 69, 0); cPag.BackgroundColor = Color.FromArgb(50, 205, 50); cOt.BackgroundColor = Color.FromArgb(135, 206, 250); cRec.Name = "Bajas"; cPag.Name = "Altas"; cOt.Name = "Bajas Inmediatas"; serieRec.SeriesItems.Add(cRec); serieRec.SeriesItems.Add(cPag); serieRec.SeriesItems.Add(cOt); grafica.PlotArea.Series.Add(serieRec); }
/*private void obtieneBancos(Label[] periodos, string periodo) * { * Datos datos = new Datos(); * int empresa = 0; * try { empresa = Convert.ToInt32(Request.QueryString["e"]); } * catch (Exception) * { * Response.Redirect("Default.aspx"); * } * DataTable dt = new DataTable(); * int dato = Convert.ToInt32(periodo); * int banco = 0; * try { banco = Convert.ToInt32(ddlBancos.SelectedValue); } * catch (Exception) { banco = 0; } * if (periodo == "0") * dt = datos.obtienePagosBancos(empresa, banco); * else * dt = datos.obtienePagoBanco(periodos[dato - 1], empresa, periodo, banco); * * string[] meses = new string[dt.Rows.Count]; * decimal[] pagados = new decimal[dt.Rows.Count]; * decimal[] rechazados = new decimal[dt.Rows.Count]; * * for (int i = 0; i < dt.Rows.Count; i++) * { * meses[i] = dt.Rows[i][0].ToString(); * try { pagados[i] = Convert.ToDecimal(dt.Rows[i][1]); } * catch (Exception) { pagados[i] = Convert.ToDecimal(0); } * try { rechazados[i] = Convert.ToDecimal(dt.Rows[i][2]); } * catch (Exception) { rechazados[i] = Convert.ToDecimal(0); } * } * * * BarChart5.Series.Add(new AjaxControlToolkit.BarChartSeries { Name = "Pagados", Data = pagados }); * BarChart5.Series.Add(new AjaxControlToolkit.BarChartSeries { Name = "Rechazados", Data = rechazados }); * * BarChart5.Series[0].BarColor = "LimeGreen"; * BarChart5.Series[1].BarColor = "OrangeRed"; * * BarChart5.CategoriesAxis = string.Join(",", meses); * if (periodo == "0") * { * pnlBancos.CssClass = "ancho100 centardo"; * BarChart5.ChartWidth = (meses.Length * 90).ToString(); * } * else * { * pnlBancos.CssClass = "ancho100 centardo padingLeft30px"; * BarChart5.ChartWidth = (meses.Length * 300).ToString(); * } * } * * protected void ddlBancos_SelectedIndexChanged(object sender, EventArgs e) * { * Label[] periodos = { Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10, Label11, Label12 }; * dtBancos.DataBind(); * obtieneBancos(periodos, ddlPeriodo.SelectedValue); * }*/ protected void dtBancos_ItemDataBound(object sender, DataListItemEventArgs e) { Telerik.Web.UI.RadHtmlChart grafica = (Telerik.Web.UI.RadHtmlChart)e.Item.FindControl("DonutChart1") as Telerik.Web.UI.RadHtmlChart; Label lblIdBanco = (Label)e.Item.FindControl("lblIdBanco") as Label; Datos datos = new Datos(); int empresa = 0; try { empresa = Convert.ToInt32(Request.QueryString["e"]); } catch (Exception) { Response.Redirect("Default.aspx"); } DataTable dt = new DataTable(); string periodo = ddlPeriodo.SelectedValue; Label[] periodos = { Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10, Label11, Label12 }; int dato = Convert.ToInt32(periodo); int banco = 0; try { banco = Convert.ToInt32(lblIdBanco.Text); } catch (Exception) { banco = 0; } if (periodo == "0") { dt = datos.obtienePagosBancos(empresa, banco); } else { dt = datos.obtienePagoBanco(periodos[dato - 1], empresa, periodo, banco); } grafica.Legend.Appearance.Position = Telerik.Web.UI.HtmlChart.ChartLegendPosition.Bottom; grafica.PlotArea.Series.Clear(); Telerik.Web.UI.DonutSeries serieRec = new Telerik.Web.UI.DonutSeries(); serieRec.StartAngle = 0; serieRec.HoleSize = 0; serieRec.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieAndDonutLabelsPosition.OutsideEnd; serieRec.LabelsAppearance.DataFormatString = "{0}"; serieRec.LabelsAppearance.Visible = true; serieRec.TooltipsAppearance.BackgroundColor = Color.Black; serieRec.TooltipsAppearance.Color = Color.White; serieRec.TooltipsAppearance.DataFormatString = "{0}"; for (int i = 0; i < dt.Rows.Count; i++) { Telerik.Web.UI.PieSeriesItem cRec = new Telerik.Web.UI.PieSeriesItem(); Telerik.Web.UI.PieSeriesItem cPag = new Telerik.Web.UI.PieSeriesItem(); cRec.Y = Convert.ToDecimal(dt.Rows[i][2].ToString()); cPag.Y = Convert.ToDecimal(dt.Rows[i][1].ToString()); cRec.Exploded = cPag.Exploded = false; cRec.BackgroundColor = Color.FromArgb(255, 69, 0); cPag.BackgroundColor = Color.FromArgb(50, 205, 50); cRec.Name = "Rechazados"; cPag.Name = "Pagados"; serieRec.SeriesItems.Add(cRec); serieRec.SeriesItems.Add(cPag); } grafica.PlotArea.Series.Add(serieRec); }