예제 #1
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;
            }
        }
        public static void RegresaCuentasPorPagadas(DateTime FechaCierre, int DiasRevision, int Id_Cte, string Conexion, ref List <CobSaldosNiveles> Lista)
        {
            try
            {
                SqlDataReader      dr        = null;
                CapaDatos.CD_Datos CapaDatos = new CapaDatos.CD_Datos(Conexion);

                string[] Parametros = { "@FechaCierre",
                                        "@DiasRevision",
                                        "@Id_Cte" };
                object[] Valores =
                {
                    FechaCierre,
                    DiasRevision,
                    Id_Cte
                };

                SqlCommand sqlcmd = CapaDatos.GenerarSqlCommand("Nivel4_SaldosClientePen", ref dr, Parametros, Valores);
                while (dr.Read())
                {
                    CobSaldosNiveles Saldos = new CobSaldosNiveles();
                    if (float.Parse(dr.GetValue(dr.GetOrdinal("Saldo")).ToString()) != 0)
                    {
                        Saldos.Cdi       = dr.GetInt32(dr.GetOrdinal("CDI"));
                        Saldos.Cd_Nombre = dr.GetValue(dr.GetOrdinal("cd_Nombre")).ToString();
                        //Saldos.Id_Cte = dr.GetInt32(dr.GetOrdinal("Cliente"));
                        Saldos.Cartera  = float.Parse(dr.GetValue(dr.GetOrdinal("Cargo")).ToString());
                        Saldos.Pagado   = float.Parse(dr.GetValue(dr.GetOrdinal("Credito")).ToString());
                        Saldos.Restante = float.Parse(dr.GetValue(dr.GetOrdinal("Saldo")).ToString());
                        Lista.Add(Saldos);
                    }
                }
                CapaDatos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }