/// <summary>
        /// Método que permite consultar  
        /// las actividades que presenten retrasos o superen el estimado en los diferente paquetes de proyecto
        /// </summary>
        /// <returns>vo_lista valor del resultado de la ejecución de la sentencia</returns>
        public static List<cls_consActRetrasadas> ConsultaActRetrasadas(cls_consActRetrasadas po_consActRetrasadas)
        {
            List<cls_consActRetrasadas> vo_lista = null;
            cls_consActRetrasadas vo_consActRetrasadas = null;

            try
            {
                String vs_comando = "PA_estd_consultaActRetrasadas";
                cls_parameter[] vu_parametros = { new cls_parameter("@paramProyecto", po_consActRetrasadas.pPK_proyecto),
                                                  new cls_parameter("@paramPaquete", po_consActRetrasadas.pPK_paquete),
                                                  new cls_parameter("@paramFechaInicio", po_consActRetrasadas.pFechaDesde),
                                                  new cls_parameter("@paramFechaFin", po_consActRetrasadas.pFechaHasta),
                                                  new cls_parameter("@paramUsuario", po_consActRetrasadas.pPK_usuario)
                                                };

                DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros);

                vo_lista = new List<cls_consActRetrasadas>();
                for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++)
                {
                    vo_consActRetrasadas = new cls_consActRetrasadas();

                    vo_consActRetrasadas.pNombreActividad = vu_dataSet.Tables[0].Rows[i]["nombreActividad"].ToString();

                    vo_consActRetrasadas.pDiasRetraso = Convert.ToDecimal(vu_dataSet.Tables[0].Rows[i]["diasRetraso"].ToString());

                    vo_consActRetrasadas.pHorasRetraso = Convert.ToDecimal(vu_dataSet.Tables[0].Rows[i]["horasRetraso"].ToString());

                    vo_lista.Add(vo_consActRetrasadas);
                }

                return vo_lista;
            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al obtener el gráfico de consulta de actividades retrasadas por proyecto.", po_exception);
            }
        }
        /// <summary>
        /// Método que obtiene la información con la que se va a cargar en gráfico
        /// </summary>
        private void obtenerGraficoConsultaRetrasos(int pi_proyecto, int pi_paquete, DateTime pd_fechaDesde, DateTime pd_fechaHasta, string ps_usuario)
        {
            try
            {
                //Se procede a obtener la información por proyecto
                cls_consActRetrasadas vo_consActRetrasadas = new cls_consActRetrasadas();
                vo_consActRetrasadas.pPK_proyecto = pi_proyecto;
                vo_consActRetrasadas.pPK_paquete = pi_paquete;
                vo_consActRetrasadas.pFechaDesde = pd_fechaDesde;
                vo_consActRetrasadas.pFechaHasta = pd_fechaHasta;
                vo_consActRetrasadas.pPK_usuario = ps_usuario;

                List<cls_consActRetrasadas> vl_consultaActividades = cls_gestorEstadistico.ConsultaActRetrasadas(vo_consActRetrasadas);

                //Se realiza el binding de la información que se obtuvo en la consulta
                Grafico.Series["DiasRetraso"].Points.DataBindXY(vl_consultaActividades, "pNombreActividad", vl_consultaActividades, "pDiasRetraso");

                // Set radar chart type
                Grafico.Series["DiasRetraso"].ChartType = SeriesChartType.Column;

                //// Set radar chart style (Area, Line or Marker)
                //Grafico.Series["DiasRetraso"]["RadarDrawingStyle"] = "Line";

                //// Set circular area drawing style (Circle or Polygon)
                //Grafico.Series["DiasRetraso"]["AreaDrawingStyle"] = "Circle";

                //// Set labels style (Auto, Horizontal, Circular or Radial)
                //Grafico.Series["DiasRetraso"]["CircularLabelsStyle"] = "Horizontal";

                // Show as 3D
                //Grafico.ChartAreas["AreaGrafico"].Area3DStyle.Enable3D = true;
                Grafico.Series["DiasRetraso"].Color = Color.LightBlue;

                // Enable AntiAliasing for either Text and Graphics or just Graphics
                //Grafico.AntiAliasing = AntiAliasingStyles.All; // AntiAliasingStyles.Graphics and AntiAliasingStyles.Text

                // create the destination series and add it to the chart
                Series destSeries = new Series("HorasDeMas");

                if (Grafico.Series.IndexOf("HorasDeMas") != 1)
                {
                    Grafico.Series.Add(destSeries);
                }

                //Se realiza el binding de la información que se obtuvo en la consulta
                Grafico.Series["HorasDeMas"].Points.DataBindXY(vl_consultaActividades, "pNombreActividad", vl_consultaActividades, "pHorasRetraso");

                Grafico.Series["HorasDeMas"]["BackColor"] = "Transparent";

                // Set radar chart type
                Grafico.Series["HorasDeMas"].ChartType = SeriesChartType.Column;

                //// Set radar chart style (Area, Line or Marker)
                //Grafico.Series["HorasDeMas"]["RadarDrawingStyle"] = "Line";

                //// Set circular area drawing style (Circle or Polygon)
                //Grafico.Series["HorasDeMas"]["AreaDrawingStyle"] = "Circle";

                //// Set labels style (Auto, Horizontal, Circular or Radial)
                //Grafico.Series["HorasDeMas"]["CircularLabelsStyle"] = "Horizontal";

                // Show as 3D
                //Grafico.ChartAreas["AreaGrafico"].Area3DStyle.Enable3D = true;
                Grafico.Series["HorasDeMas"].Color = Color.Yellow;

                //Se aplica el estilo pastel a los colores definidos para el gráfico
                Grafico.Palette = ChartColorPalette.Light;
                Grafico.ApplyPaletteColors();
                //Para que el estilo tome efecto se debe asignar a cada uno de los puntos de la serie en el gráfico
                foreach (var series in Grafico.Series)
                {
                    foreach (var point in series.Points)
                    {
                        point.Color = Color.FromArgb(220, point.Color);
                    }
                }

                // Properties
                Grafico.ChartAreas["AreaGrafico"].BackColor = Color.Transparent;
                //Grafico.ChartAreas["AreaGrafico"].AxisY.Interval = 5;
                //Grafico.ChartAreas["AreaGrafico"].AxisY.IntervalType = DateTimeIntervalType.Number;
                //Grafico.ChartAreas["AreaGrafico"].AxisX.Interval = 2;
                //Grafico.ChartAreas["AreaGrafico"].AxisX.IntervalType = DateTimeIntervalType.Number;

                //Grafico.ChartAreas["AreaGrafico"].AxisX.TextOrientation = TextOrientation.Rotated90;
                //Grafico.ChartAreas["AreaGrafico"].AxisX.LabelStyle.IsEndLabelVisible = false;

                Grafico.ChartAreas["AreaGrafico"].AxisX.Title = "Actividades";
                Grafico.ChartAreas["AreaGrafico"].AxisY.Title = "Atrasos";

            }
            catch (Exception po_exception)
            {
                throw new Exception("Ocurrió un error al cargar el gráfico con la información de la base de datos.", po_exception);
            }
        }