예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            bool bEnable = false;
            bool bLCA    = false;

            oIsUsuario = oWeb.ValidaUserAppReport();
            if ((!string.IsNullOrEmpty(oIsUsuario.NKeyDeudor)) && (!string.IsNullOrEmpty(oIsUsuario.NKeyUsuario)) || (!string.IsNullOrEmpty(oIsUsuario.NCodHolding)))
            {
                double iConsumido  = 0;
                double iDisponible = 0;
                double iLCA        = 0;
                DBConn oConn       = new DBConn();
                if (oConn.Open())
                {
                    cDashboard oOverView = new cDashboard(ref oConn);
                    oOverView.CodHolding  = oIsUsuario.NCodHolding;
                    oOverView.nKeyCliente = oIsUsuario.NKeyUsuario;
                    oOverView.nKeyDeudor  = oIsUsuario.NKeyDeudor;
                    //Response.Write("GetLCAConsumido;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    DataTable dtLCA_Consumido = oOverView.GetLCAConsumido();
                    //Response.Write("GetLCAConsumido;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    if (dtLCA_Consumido != null)
                    {
                        if (dtLCA_Consumido.Rows.Count > 0)
                        {
                            iConsumido        = double.Parse(dtLCA_Consumido.Rows[0]["consumido"].ToString());
                            tt_consumido.Text = oIsUsuario.Moneda + " " + Math.Truncate(double.Parse(dtLCA_Consumido.Rows[0]["consumido"].ToString())).ToString("N0");
                        }
                    }
                    dtLCA_Consumido = null;

                    //Response.Write("GetLCADisponible;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    DataTable dtLCA_Disponible = oOverView.GetLCADisponible();
                    //Response.Write("GetLCADisponible;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    if (dtLCA_Disponible != null)
                    {
                        if (dtLCA_Disponible.Rows.Count > 0)
                        {
                            iLCA               = double.Parse(dtLCA_Disponible.Rows[0]["disponible"].ToString());
                            iDisponible        = iLCA - iConsumido;
                            tt_disponible.Text = oIsUsuario.Moneda + " " + Math.Truncate(iDisponible).ToString("N0");
                        }
                    }
                    dtLCA_Consumido = null;

                    double iPorcentaje = 0;
                    string sProgress   = string.Empty;
                    string sPorcentaje = string.Empty;
                    lblPorcentaje.CssClass = "percentaje-overview";
                    if ((iConsumido != 0) && (iLCA != 0))
                    {
                        bLCA               = true;
                        bEnable            = true;
                        lblTitle.Text      = "Línea de Crédito";
                        lblConsumido.Text  = "Consumido";
                        lblDisponible.Text = "Disponible";
                        iPorcentaje        = Math.Round((iConsumido / iLCA) * 100, 0);
                        sPorcentaje        = iPorcentaje.ToString() + "%";
                        lblPorcentaje.Text = sPorcentaje;
                        if (iDisponible <= 0)
                        {
                            if (iPorcentaje <= -100000)
                            {
                                lblPorcentaje.CssClass = "percentaje-overview-red-low";
                            }
                            else if (iPorcentaje >= 100000)
                            {
                                lblPorcentaje.CssClass = "percentaje-overview-red-low";
                            }
                            else
                            {
                                lblPorcentaje.CssClass = "percentaje-overview-red";
                            }
                        }
                        else
                        {
                            if (iPorcentaje >= 100000)
                            {
                                lblPorcentaje.CssClass = "percentaje-overview-low";
                            }
                            else
                            {
                                lblPorcentaje.CssClass = "percentaje-overview";
                            }
                        }
                    }
                    else
                    {
                        string sMes = "00" + DateTime.Now.Month.ToString();
                        sMes = sMes.Substring(sMes.Length - 2);

                        oOverView.Periodo = sMes + "-01-" + DateTime.Now.Year.ToString();
                        //Response.Write("GetEstimadoCaja;" + DateTime.Now.Millisecond.ToString() + "<br>");
                        DataTable dtEstimadoCaja = oOverView.GetEstimadoCaja();
                        //Response.Write("GetEstimadoCaja;" + DateTime.Now.Millisecond.ToString() + "<br>");
                        if (dtEstimadoCaja != null)
                        {
                            if (dtEstimadoCaja.Rows.Count > 0)
                            {
                                bEnable = true;

                                iConsumido        = double.Parse(dtEstimadoCaja.Rows[0]["estimado"].ToString());
                                tt_consumido.Text = oIsUsuario.Moneda + " " + Math.Truncate(double.Parse(dtEstimadoCaja.Rows[0]["estimado"].ToString())).ToString("N0");

                                iDisponible        = double.Parse(dtEstimadoCaja.Rows[0]["real"].ToString());
                                tt_disponible.Text = oIsUsuario.Moneda + " " + Math.Truncate(double.Parse(dtEstimadoCaja.Rows[0]["real"].ToString())).ToString("N0");

                                lblTitle.Text      = "Estimado Caja";
                                lblConsumido.Text  = "Estimado";
                                lblDisponible.Text = "Real";
                                if ((iConsumido != 0) && (iDisponible != 0))
                                {
                                    iPorcentaje = Math.Round((iDisponible / iConsumido) * 100, 0);
                                    if (iPorcentaje >= 100)
                                    {
                                        if (iPorcentaje >= 100000)
                                        {
                                            lblPorcentaje.CssClass = "percentaje-overview-crema-low";
                                        }
                                        else
                                        {
                                            lblPorcentaje.CssClass = "percentaje-overview-crema";
                                        }
                                    }
                                    else
                                    {
                                        if (iPorcentaje <= -100000)
                                        {
                                            lblPorcentaje.CssClass = "percentaje-overview-low";
                                        }
                                        else
                                        {
                                            lblPorcentaje.CssClass = "percentaje-overview";
                                        }
                                    }

                                    sPorcentaje = iPorcentaje.ToString() + "%";
                                }
                                else
                                {
                                    sPorcentaje = "0%";
                                }
                                lblPorcentaje.Text = sPorcentaje;
                            }
                        }
                        dtEstimadoCaja = null;
                    }

                    StringBuilder sHtml_Graph = new StringBuilder();
                    sHtml_Graph.Append(" google.charts.setOnLoadCallback(drawChart); ");
                    sHtml_Graph.Append(" function drawChart() { ");
                    sHtml_Graph.Append(" var data = google.visualization.arrayToDataTable([ ");
                    sHtml_Graph.Append(" ['Porcentaje','Dato'], ");
                    sHtml_Graph.Append(" ['" + lblConsumido.Text + "'," + ((iConsumido >= 0) ? iConsumido.ToString("0.00", CultureInfo.InvariantCulture) : "0") + "], ");
                    sHtml_Graph.Append(" ['" + lblDisponible.Text + "'," + ((iDisponible > 0) ? iDisponible.ToString("0.00", CultureInfo.InvariantCulture) : "0") + "], ");
                    sHtml_Graph.Append(" ]); ");
                    sHtml_Graph.Append(" var options = { ");
                    sHtml_Graph.Append(" pieHole: 0.9, ");
                    sHtml_Graph.Append(" pieSliceText:'none', pieSliceTextStyle: 'none', pieSliceBorderColor: 'none', ");
                    if (bLCA)
                    {
                        sHtml_Graph.Append(" colors: ['" + ((iDisponible <= 0) ? "#D0021B" : "#1578FF") + "', '#FFDFAB'], ");
                    }
                    else
                    {
                        if (iPorcentaje >= 100)
                        {
                            sHtml_Graph.Append(" colors: ['#FFDFAB', '#FFDFAB'], ");
                        }
                        else if (iPorcentaje <= 0)
                        {
                            sHtml_Graph.Append(" colors: ['#1578FF', '#1578FF'], ");
                        }
                        else
                        {
                            sHtml_Graph.Append(" colors: ['#1578FF', '#FFDFAB'], ");
                        }
                    }

                    sHtml_Graph.Append(" legend: 'none', chartArea: { left: 10, right: 10, bottom: 10, top: 10 } ");
                    sHtml_Graph.Append(" }; ");
                    sHtml_Graph.Append(" var chart = new google.visualization.PieChart(document.getElementById('donut_single')); ");
                    sHtml_Graph.Append(" chart.draw(data, options); ");
                    sHtml_Graph.Append(" }; ");

                    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "donut_single", sHtml_Graph.ToString(), true);

                    //sProgress = "<div class=\"progress-bar\" role=\"progressbar\" style=\"width:" + sPorcentaje + "\" aria-valuenow=\"25\" aria-valuemin=\"0\" aria-valuemax=\"100\">" + sPorcentaje + "</div>";
                    //oProgressBar.Controls.Add(new LiteralControl(sProgress));

                    string sTipoPago = string.Empty;
                    //Response.Write("GetMonto_TipoPago;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    DataTable dt_Monto_TipoPago = oOverView.GetMonto_TipoPago();
                    //Response.Write("GetMonto_TipoPago;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    if (dt_Monto_TipoPago != null)
                    {
                        if (dt_Monto_TipoPago.Rows.Count > 0)
                        {
                            lb_Monto_abono.Text = oIsUsuario.Moneda + " " + Math.Truncate(double.Parse(dt_Monto_TipoPago.Rows[0]["monto_ultimo_abono"].ToString())).ToString("N0");
                            lb_tipo_pago.Text   = dt_Monto_TipoPago.Rows[0]["sTipoPago"].ToString();
                        }
                    }
                    dt_Monto_TipoPago = null;

                    //Response.Write("GetUltimoDocPago;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    DataTable dt_UltDocPago = oOverView.GetUltimoDocPago();
                    //Response.Write("GetUltimoDocPago;" + DateTime.Now.Millisecond.ToString() + "<br>");
                    if (dt_UltDocPago != null)
                    {
                        if (dt_UltDocPago.Rows.Count > 0)
                        {
                            bEnable = true;
                            string dUltimoAbono = string.Empty;

                            switch (dt_UltDocPago.Rows[0]["descripcion_via_pago"].ToString())
                            {
                            case "Depósito":
                                dUltimoAbono = DateTime.Parse(dt_UltDocPago.Rows[0]["dfechaVencimiento"].ToString()).ToString("dd-MM-yyyy");
                                break;

                            default:
                                dUltimoAbono = DateTime.Parse(dt_UltDocPago.Rows[0]["dFechaIngreso"].ToString()).ToString("dd-MM-yyyy");
                                break;
                            }

                            lbl_UltAbono.Text = dUltimoAbono;


                            if (!string.IsNullOrEmpty(dt_UltDocPago.Rows[0]["seguro"].ToString()))
                            {
                                switch (dt_UltDocPago.Rows[0]["seguro"].ToString())
                                {
                                case "0":
                                    lb_Seguro_Credito.Text = "No";
                                    break;

                                case "1":
                                    lb_Seguro_Credito.Text = "Si";
                                    break;
                                }
                            }

                            if (bLCA)
                            {
                                idStatus.Visible = true;
                                string        sEstatus    = dt_UltDocPago.Rows[0]["estatus"].ToString();
                                string        sColorIcono = string.Empty;
                                StringBuilder sHtml       = new StringBuilder();
                                sHtml.Append(" <div class=\"col-md-12 col_status_overview\"> ");

                                sHtml.Append("<span class=\"tt-status\">Status Línea de crédito: </span><span class=\"lbl-dt-status\">").Append(sEstatus.Trim()).Append("</span>");

                                sHtml.Append("</div>");
                                idStatus.Controls.Add(new LiteralControl(sHtml.ToString()));
                            }

                            lb_Via_Pago.Text = dt_UltDocPago.Rows[0]["descripcion_via_pago"].ToString();
                            lb_Canal.Text    = dt_UltDocPago.Rows[0]["canal"].ToString();
                        }
                    }
                    dt_UltDocPago = null;
                }
                oConn.Close();

                if (bEnable)
                {
                    idOverviewEnable.Visible   = true;
                    idOverviewNoEnable.Visible = false;
                }
                else
                {
                    idOverviewEnable.Visible   = false;
                    idOverviewNoEnable.Visible = true;
                }
            }
            else
            {
                idOverviewEnable.Visible   = false;
                idOverviewNoEnable.Visible = false;
            }
        }