protected void generatePieChart()
        {
            DataTable dttSecurityDimensionAffected = new DataTable();
            dttSecurityDimensionAffected.Columns.Add(new DataColumn("dimensionId", System.Type.GetType("System.Int32")));
            dttSecurityDimensionAffected.Columns.Add(new DataColumn("Dimension", System.Type.GetType("System.String")));
            dttSecurityDimensionAffected.Columns.Add(new DataColumn("Quantity", System.Type.GetType("System.Int32")));

            List<eventsdetection> lstEventsDetection = new List<eventsdetection>();
            eventsdetectionBus oEventsDetection = new eventsdetectionBus();

            eventsalarm auxEventsAlarm = new eventsalarm();
            eventsalarmBus oEventsAlarm = new eventsalarmBus();

            lstEventsDetection = oEventsDetection.eventsdetectionGetAll();

            if (lstEventsDetection.Count > 0)
            {
                int qtyConfidence = 0;
                int qtyIntegrity = 0;
                int qtyAvailability = 0;

                foreach (eventsdetection detectionRow in lstEventsDetection)
                {
                    auxEventsAlarm = oEventsAlarm.eventsalarmGetById(detectionRow.EventsAlarmId);

                    if (Convert.ToBoolean(auxEventsAlarm.AffectConfidence))
                        qtyConfidence++;
                    if (Convert.ToBoolean(auxEventsAlarm.AffectIntegrity))
                        qtyIntegrity++;
                    if (Convert.ToBoolean(auxEventsAlarm.AffectAvailability))
                        qtyAvailability++;
                }

                dttSecurityDimensionAffected.Rows.Add(1, "Confidencialidad", qtyConfidence);
                dttSecurityDimensionAffected.Rows.Add(2, "Integridad"      , qtyIntegrity);
                dttSecurityDimensionAffected.Rows.Add(3, "Disponibilidad"  , qtyAvailability);

                pieChart.Series[0].XValueMember = "Dimension";
                pieChart.Series[0].YValueMembers = "Quantity";
                pieChart.DataSource = dttSecurityDimensionAffected;
                pieChart.DataBind();
            }
        }
        protected void getEventsDetectionData()
        {
            DataTable dttEventsDetection = new DataTable();
            dttEventsDetection.Columns.Add(new DataColumn("eventsDetectionId", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("datetime", System.Type.GetType("System.DateTime")));
            dttEventsDetection.Columns.Add(new DataColumn("eventStauts", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("eventStatusDescription", System.Type.GetType("System.String")));
            dttEventsDetection.Columns.Add(new DataColumn("IDSId", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("IDPS", System.Type.GetType("System.String")));
            dttEventsDetection.Columns.Add(new DataColumn("idsName", System.Type.GetType("System.String")));
            dttEventsDetection.Columns.Add(new DataColumn("eventsAlarmId", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("severityId", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("severityDescription", System.Type.GetType("System.String")));
            dttEventsDetection.Columns.Add(new DataColumn("SLATimeToResponse", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("TaskId", System.Type.GetType("System.Int32")));
            dttEventsDetection.Columns.Add(new DataColumn("IDPSEventId", System.Type.GetType("System.Int32")));

            List<eventsdetection> lstEvetnsDetection = new List<eventsdetection>();
            eventsdetectionBus oEventsDetection = new eventsdetectionBus();

            idsBus oIDPS = new idsBus();
            eventsalarmBus oEventsAlarm = new eventsalarmBus();
            severityBus oSeverity = new severityBus();
            tasksBus oTask = new tasksBus();
            taskstatusBus oTaskStatus = new taskstatusBus();

            lstEvetnsDetection = oEventsDetection.eventsdetectionGetAll();

            if (lstEvetnsDetection.Count > 0)
            {
                foreach (eventsdetection row in lstEvetnsDetection)
                {
                    if (row.EventStatus == 2 || row.EventStatus == 5) //Closed, Rejected
                        continue;

                    ids auxIDPS = new ids();
                    eventsalarm auxEventAlarm = new eventsalarm();
                    severity auxSeverity = new severity();
                    tasks auxTask = new tasks();
                    taskstatus auxTaskStatus = new taskstatus();

                    auxIDPS = oIDPS.idsGetById(row.IdsId);
                    auxEventAlarm = oEventsAlarm.eventsalarmGetById(row.EventsAlarmId);
                    auxSeverity = oSeverity.severityGetById(auxEventAlarm.Severity);
                    auxTask = oTask.tasksGetByEventsDetectionId(row.EventsDetectionId);
                    auxTaskStatus = oTaskStatus.taskstatusGetById(row.EventStatus);

                    dttEventsDetection.Rows.Add(row.EventsDetectionId,
                                                row.DateTime,
                                                row.EventStatus,
                                                auxTaskStatus.TaskStatusDescription,
                                                row.IdsId,
                                                auxIDPS.IdsIP,
                                                auxIDPS.idsName,
                                                row.EventsAlarmId,
                                                auxSeverity.SeverityId,
                                                auxSeverity.SeverityDescription,
                                                auxSeverity.SLATimeToResponse,
                                                auxTask.TaskId,
                                                row.IDPSEventId);
                }

                gvEventsDetection.DataSource = dttEventsDetection;
                gvEventsDetection.DataBind();
            }
        }
        protected void generateFunnelChart()
        {
            DataTable dttIntrusionByIDPS = new DataTable();
            dttIntrusionByIDPS.Columns.Add(new DataColumn("idpsId", System.Type.GetType("System.Int32")));
            dttIntrusionByIDPS.Columns.Add(new DataColumn("idpsName", System.Type.GetType("System.String")));
            dttIntrusionByIDPS.Columns.Add(new DataColumn("Quantity", System.Type.GetType("System.Int32")));

            List<eventsdetection> lstEventsDetection = new List<eventsdetection>();
            eventsdetectionBus oEventsDetection = new eventsdetectionBus();

            List<ids> lstIDPS = new List<ids>();
            idsBus oIDPS = new idsBus();

            lstIDPS = oIDPS.idsGetAll();

            if (lstIDPS.Count > 0)
            {
                foreach (ids rowIDPS in lstIDPS)
                {
                    int qtyIntrusion = 0;
                    if (Convert.ToBoolean(rowIDPS.Active))
                    {
                        lstEventsDetection = oEventsDetection.eventsdetectionGetAll();
                        foreach (eventsdetection rowEvent in lstEventsDetection)
                        {
                            if (rowEvent.IdsId == rowIDPS.IdsId)
                                qtyIntrusion++;
                        }

                        dttIntrusionByIDPS.Rows.Add(rowIDPS.IdsId, rowIDPS.idsName, qtyIntrusion);
                    }
                }
            }

            funnelChart.Legends.Add(new Legend("Leyenda"));
            funnelChart.Legends["Leyenda"].DockedToChartArea = "ChartArea1";
            funnelChart.Legends["Leyenda"].IsDockedInsideChartArea = false;
            funnelChart.Series["Series1"].Legend = "Leyenda";
            funnelChart.Series["Series1"].IsVisibleInLegend = true;

            funnelChart.Series[0].XValueMember = "idpsName";
            funnelChart.Series[0].YValueMembers = "Quantity";
            funnelChart.DataSource = dttIntrusionByIDPS;
            funnelChart.DataBind();
        }