Пример #1
0
    private string obtenerDatos(string sAnno, string sEstado,
                                string sCategoria, string sCualidad, string sClientes, string sResponsables,
                                string sNaturalezas, string sHorizontal, string sModeloContrato,
                                string sContrato, string sIDEstructura, string sSectores, string sSegmentos,
                                string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P,
                                string sCSN3P, string sCSN4P, string sPSN)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            SqlDataReader dr = ConsultasPGE.ObtenerDatosResumidosGrafico((int)Session["UsuarioActual"],
                                                                         int.Parse(sAnno),
                                                                         sEstado,
                                                                         sCategoria,
                                                                         sCualidad,
                                                                         sClientes,
                                                                         sResponsables,
                                                                         sNaturalezas,
                                                                         sHorizontal,
                                                                         sModeloContrato,
                                                                         sContrato,
                                                                         sIDEstructura,
                                                                         sSectores,
                                                                         sSegmentos,
                                                                         (sComparacionLogica == "1") ? true : false,
                                                                         sCNP,
                                                                         sCSN1P,
                                                                         sCSN2P,
                                                                         sCSN3P,
                                                                         sCSN4P,
                                                                         sPSN);
            //while (dr.Read())
            //{
            //    sb.Append(dr["t325_anomes"].ToString() + "##");
            //    sb.Append(dr["Ingresos_Netos"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Margen"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Obra_en_curso"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Saldo_de_Clientes"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Total_Cobros"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Total_Ingresos"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Volumen_de_Negocio"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Total_consumos"].ToString().Replace(",", ".") + "##");
            //    sb.Append(dr["Ratio"].ToString().Replace(",", ".") + "///");
            //}

            DataTable table = new DataTable();
            table.Load(dr);
            DataView dv = table.DefaultView;
            dr.Close();
            dr.Dispose();

            #region grafico 1
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled   = true;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval  = 1;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray;
            //Creo las series para el gráfico con cada uno de los conceptos
            //Creo una serie para el volumen de negocio
            Series serieVolNeg = new Series("Vol. negocio");
            //serieVolNeg.Points.DataBind(dv, "t325_anomes", "Volumen_de_Negocio", "");
            serieVolNeg.Points.DataBind(dv, "t325_anomes", "Volumen_de_Negocio", "");
            Chart1.Series.Add(serieVolNeg);

            //Creo una serie para el total de consumos
            Series serieConsumo = new Series("Total consumos");
            serieConsumo.Points.DataBind(dv, "t325_anomes", "Total_consumos", "");
            Chart1.Series.Add(serieConsumo);


            //Creo una serie para el total de ingresos
            Series serieIngreso = new Series("Ing. netos");
            serieIngreso.Points.DataBind(dv, "t325_anomes", "Ingresos_Netos", "");
            Chart1.Series.Add(serieIngreso);

            //Creo una serie para el margen
            Series serieMargen = new Series("Margen");
            serieMargen.Points.DataBind(dv, "t325_anomes", "Margen", "");
            Chart1.Series.Add(serieMargen);

            for (int i = 0; i < Chart1.Series.Count; i++)
            {
                if (dv.Count == 1)
                {
                    Chart1.Series[i].ChartType       = SeriesChartType.Column;
                    Chart1.Series[i]["PointWidth"]   = "0.2";
                    Chart1.Series[i]["DrawingStyle"] = "Default";
                }
                else
                {
                    Chart1.Series[i].ChartType    = SeriesChartType.Spline;
                    Chart1.Series[i].BorderWidth  = 2;
                    Chart1.Series[i].ShadowOffset = 1;
                }
                Chart1.Series[i].MarkerStyle = MarkerStyle.Circle;
                Chart1.Series[i].MarkerColor = Color.Navy;
                Chart1.Series[i].MarkerSize  = 6;
                Chart1.Series[i].ToolTip     = "#VALY{C0}";
            }

            Chart1.Visible = true;

            #endregion
            #region gráfico 2
            Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled   = true;
            Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval  = 1;
            Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1;
            Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray;
            //Creo las series para el gráfico con cada uno de los conceptos
            //Creo una serie para el total de ingresos
            Series serieTotIng = new Series("Total Ingresos");
            serieTotIng.Points.DataBind(dv, "t325_anomes", "Total_Ingresos", "");
            Chart2.Series.Add(serieTotIng);
            //Creo una serie para el total de cobros
            Series serieCobro = new Series("Total cobros");
            serieCobro.Points.DataBind(dv, "t325_anomes", "Total_Cobros", "");
            Chart2.Series.Add(serieCobro);

            for (int i = 0; i < Chart2.Series.Count; i++)
            {
                if (dv.Count == 1)
                {
                    Chart2.Series[i].ChartType       = SeriesChartType.Column;
                    Chart2.Series[i]["PointWidth"]   = "0.2";
                    Chart2.Series[i]["DrawingStyle"] = "Default";
                }
                else
                {
                    Chart2.Series[i].ChartType    = SeriesChartType.Spline;
                    Chart2.Series[i].BorderWidth  = 2;
                    Chart2.Series[i].ShadowOffset = 1;
                }
                Chart2.Series[i].MarkerStyle = MarkerStyle.Circle;
                Chart2.Series[i].MarkerColor = Color.Navy;
                Chart2.Series[i].MarkerSize  = 6;
                Chart2.Series[i].ToolTip     = "#VALY{C0}";
            }

            Chart2.Visible = true;

            #endregion
            #region gráfico 3
            Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled   = true;
            Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval  = 1;
            Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1;
            Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray;
            //Creo la serie para el Ratio
            Series serieRatio = new Series("Ratio");
            serieRatio.Points.DataBind(dv, "t325_anomes", "Ratio", "");
            Chart3.Series.Add(serieRatio);

            for (int i = 0; i < Chart3.Series.Count; i++)
            {
                if (dv.Count == 1)
                {
                    Chart3.Series[i].ChartType       = SeriesChartType.Column;
                    Chart3.Series[i]["PointWidth"]   = "0.2";
                    Chart3.Series[i]["DrawingStyle"] = "Default";
                }
                else
                {
                    //Chart3.Series[i].ChartType = SeriesChartType.Spline;
                    Chart3.Series[i].ChartType    = SeriesChartType.Area;
                    Chart3.Series[i].BorderWidth  = 2;
                    Chart3.Series[i].ShadowOffset = 1;
                }
                //Chart3.Series[i].MarkerStyle = MarkerStyle.None;
                //Chart3.Series[i].MarkerColor = Color.Navy;
                //Chart3.Series[i].MarkerSize = 6;
                Chart3.Series[i].ToolTip = "#VALY{C0}";
            }

            Chart3.Visible = true;
            #endregion
            #region gráfico 4
            Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled   = true;
            Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval  = 1;
            Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1;
            Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray;
            //Chart4.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "D";


            //Creo la serie para la obra en curso
            Series serieObra = new Series("Variación obra en curso");
            //serieObra.Points.DataBind(dv, "Mes", "Obra_en_curso", "");
            serieObra.Points.DataBind(dv, "t325_anomes", "Obra_en_curso", "");
            Chart4.Series.Add(serieObra);

            for (int i = 0; i < Chart4.Series.Count; i++)
            {
                if (dv.Count == 1)
                {
                    Chart4.Series[i].ChartType       = SeriesChartType.Column;
                    Chart4.Series[i]["PointWidth"]   = "0.2";
                    Chart4.Series[i]["DrawingStyle"] = "Default";
                }
                else
                {
                    //Chart4.Series[i].ChartType = SeriesChartType.Spline;
                    Chart4.Series[i].ChartType    = SeriesChartType.Area;
                    Chart4.Series[i].BorderWidth  = 2;
                    Chart4.Series[i].ShadowOffset = 1;
                }
                //Chart4.Series[i].MarkerStyle = MarkerStyle.Circle;
                //Chart4.Series[i].MarkerStyle = MarkerStyle.None;
                //Chart4.Series[i].MarkerColor = Color.Navy;
                //Chart4.Series[i].MarkerSize = 6;
                Chart4.Series[i].ToolTip = "#VALY{C0}";
            }

            Chart4.Visible = true;
            #endregion

            table.Dispose();
            dv.Dispose();

            return("OK@#@");// +sb.ToString();
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex));
        }
    }