示例#1
0
    public void CreateRealTimeChart()
    {
        List <int> returnedData = new List <int>();

        System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();
        RealTimeChart.Titles[0].Text = "Current Month (" + mfi.GetMonthName(DateTime.Now.Month).ToString() + ")";

        returnedData = ScoreCardReports.GetRealTime();

        RealTimeChart.Series["New"].Points.Add(returnedData[0]);
        RealTimeChart.Series["Closed"].Points.Add(returnedData[1]);
        RealTimeChart.Series["Open"].Points.Add(returnedData[2]);
        RealTimeChart.Series["Unassigned"].Points.Add(returnedData[3]);
        RealTimeChart.Series["Averg"].Points.Add(returnedData[4]);


        RealTimeChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);
        CustomLabel customLabel = new CustomLabel();

        string[] months = new string[] { "JAN", "FEB", "MAR", "APR",
                                         "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" };


        customLabel.Text         = months[(DateTime.Now.Month - 1)];
        customLabel.FromPosition = 0.5;
        customLabel.ToPosition   = 1.5;

        RealTimeChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);
        RealTimeChart.Series["Open"].LegendText = "Running Open";

        RealTimeChart.Series["Averg"].LegendText = "Average Days Open";
    }
    //------------------------------------------------------------------------------------------

    public void CreateBacklog()
    {
        DropDownList ddlbweek = (DropDownList)FindControl("ddlBacklogWeek");


        ChartBacklog.Width              = Unit.Percentage(100);
        ChartBacklog.Height             = Unit.Pixel(400);
        ChartBacklog.CssClass           = "chart";
        ChartBacklog.PrimaryHeader.Text = "IT Tickets Backlog (Week: " + ddlBacklogWeek.SelectedItem.Text + " of " + ddlBacklogYear.SelectedItem.Text + ")";
        ChartBacklog.TooltipSettings.AxisMarkers.Enabled = true;
        ChartBacklog.TooltipSettings.AxisMarkers.Mode    = ChartXYMode.Y;
        ChartBacklog.TooltipSettings.AxisMarkers.Width   = new Unit(1);
        ChartBacklog.TooltipSettings.AxisMarkers.ZIndex  = 3;

        ChartBacklog.Font.Size = 12;
        ChartBacklog.Font.Bold = true;

        ChartAxisX axisX = new ChartAxisX();

        axisX.CategoricalValuesField = "label";
        //axisX.CategoricalValues = label.ToArray();
        //axisX.CategoricalValues = monthLabels;

        ChartBacklog.Axes.Add(axisX);
        ChartAxisY axisY = new ChartAxisY();

        axisY.Title.Text = "Hours";
        ChartBacklog.Axes.Add(axisY);


        List <Backlog> datasource = new List <Backlog>();


        ChartBarSeries splineSeriesNew = new ChartBarSeries();

        splineSeriesNew.DataFieldY      = "BacklogHour";
        splineSeriesNew.ID              = "BacklogHour";
        splineSeriesNew.CollectionAlias = "Backlog";
        ChartBacklog.DataSeries.Add(splineSeriesNew);

        List <double> newData = ScoreCardReports.GetBacklog_Hours(Convert.ToInt32(ddlBacklogWeek.SelectedValue), Convert.ToInt32(ddlBacklogYear.SelectedValue));
        List <string> name    = ScoreCardReports.GetBacklog_Names(Convert.ToInt32(ddlBacklogWeek.SelectedValue), Convert.ToInt32(ddlBacklogYear.SelectedValue));

        if (newData.Count > 0)
        {
            for (int i = 0; i < newData.Count; i++)
            {
                datasource.Add(new Backlog()
                {
                    BacklogHour = newData[i], label = name[i]
                });
            }

            ChartBacklog.DataSource = datasource;
            //ChartResource.TakeDataSource += ChartResource_TakeDataSource;
            BacklogPanel.DataBind();
            BacklogPanel.Controls.Add(ChartBacklog);
        }
    }
    //------------------new ticket by it resource --------------------------//


    public void NewWeeklyByResource()
    {
        ChartResource.Width              = Unit.Percentage(100);
        ChartResource.Height             = Unit.Pixel(400);
        ChartResource.CssClass           = "chart";
        ChartResource.PrimaryHeader.Text = "New IT Tickets (Last 12 Weeks)";
        ChartResource.TooltipSettings.AxisMarkers.Enabled = true;
        ChartResource.TooltipSettings.AxisMarkers.Mode    = ChartXYMode.Y;
        ChartResource.TooltipSettings.AxisMarkers.Width   = new Unit(1);
        ChartResource.TooltipSettings.AxisMarkers.ZIndex  = 3;

        ChartResource.Font.Size = 12;
        ChartResource.Font.Bold = true;

        ChartAxisX axisX = new ChartAxisX();

        axisX.CategoricalValuesField = "label";
        // axisX.CategoricalValues = label.ToArray();
        //axisX.CategoricalValues = monthLabels;

        ChartResource.Axes.Add(axisX);
        ChartAxisY axisY = new ChartAxisY();

        axisY.Title.Text = "# of New Tickets";
        ChartResource.Axes.Add(axisY);


        List <Tickets> datasource = new List <Tickets>();


        ChartLineSeries splineSeriesNew = new ChartLineSeries();

        splineSeriesNew.DataFieldY      = "New";
        splineSeriesNew.ID              = "New Tickets";
        splineSeriesNew.CollectionAlias = ddlResource.SelectedValue;
        ChartResource.DataSeries.Add(splineSeriesNew);

        List <int>    newData = ScoreCardReports.Get12WeekNewByResource(ddlResource.SelectedValue);
        List <string> label   = ScoreCardReports.Get12WeekLabels();

        for (int i = 0; i < newData.Count; i++)
        {
            datasource.Add(new Tickets()
            {
                New = newData[i], label = label[i]
            });
        }



        ChartResource.DataSource = datasource;
        //ChartResource.TakeDataSource += ChartResource_TakeDataSource;
        NewWeekly.DataBind();
        NewWeekly.Controls.Add(ChartResource);
    }
示例#4
0
    public void CreateHistoricalTicketStats()
    {
        List <int> returnedData = new List <int>();

        returnedData = ScoreCardReports.GetTotalTickets();//data gets returned as @Current,@OneToSeven, @SevenToThirty, @ThirtyToSixty,@SixtyToNinety, @OlderThenNinety

        TotalTicketsChart.Titles[0].Text = "Current Open Ticket Aging (" + returnedData.Sum() + ")";

        TotalTicketsChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);

        float total = 0;

        foreach (int value in returnedData)
        {
            total += value;
        }

        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[0] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[0].LegendText = "< Day (" + Math.Round(((returnedData[0] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[0].Color      = Color.Green;
        TotalTicketsChart.Series["sData"].Points[0].Label      = Math.Round(((returnedData[0] / total) * 100), 0) + "%";


        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[1] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[1].LegendText = "< Week (" + Math.Round(((returnedData[1] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[1].Color      = Color.DeepSkyBlue;
        TotalTicketsChart.Series["sData"].Points[1].Label      = Math.Round(((returnedData[1] / total) * 100), 0) + "%";

        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[2] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[2].LegendText = "< Month (" + Math.Round(((returnedData[2] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[2].Color      = Color.DodgerBlue;
        TotalTicketsChart.Series["sData"].Points[2].Label      = Math.Round(((returnedData[2] / total) * 100), 0) + "%";

        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[3] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[3].LegendText = "< 60 Days (" + Math.Round(((returnedData[3] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[3].Color      = Color.Orange;
        TotalTicketsChart.Series["sData"].Points[3].Label      = Math.Round(((returnedData[3] / total) * 100), 0) + "%";

        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[4] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[4].LegendText = "< 90 Days (" + Math.Round(((returnedData[4] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[4].Color      = Color.Red;
        TotalTicketsChart.Series["sData"].Points[4].Label      = Math.Round(((returnedData[4] / total) * 100), 0) + "%";

        TotalTicketsChart.Series["sData"].Points.Add(Math.Round(((returnedData[5] / total) * 100), 0));
        TotalTicketsChart.Series["sData"].Points[5].LegendText = "> 90 Days (" + Math.Round(((returnedData[5] / total) * 100), 0) + "%)";
        TotalTicketsChart.Series["sData"].Points[5].Color      = Color.Chocolate;
        TotalTicketsChart.Series["sData"].Points[5].Label      = Math.Round(((returnedData[5] / total) * 100), 0) + "%";

        TotalTicketsChart.DataBind();
    }
    private void mthCategoryLevelDrill(String ITMember, String className)
    {
        double none     = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "none", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double hardware = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "Hardware", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double software = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "Software", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double network  = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "Network", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double people   = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "People/Accomodation", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double process  = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "Process", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));
        double docs     = ScoreCardReports.GetMonthNumberOfCategory(ITMember, className, "Documentation", Int32.Parse(ddlMth.SelectedValue), Int32.Parse(ddlYr.SelectedValue));

        mthdrillDownDatasource.Add(new Issues()
        {
            Unassigned = none, Hardware = hardware, Software = software, Network = network, label = ITMember + ": " + className, People = people, Process = process, Documentation = docs
        });


        MonthPanel.DataBind();
        MonthPanel.TakeDataSource += MonthDrillDown_TakeDataSource;
    }
    protected void WeeklyChart_TakeDataSource(object sender, Shield.Web.UI.ChartTakeDataSourceEventArgs e)
    {
        String myLabel = "";
        //Define datasource
        List <Tickets> datasource = new List <Tickets>();
        //Get Data from SQL Stored Procs
        List <int> Open   = ScoreCardReports.WeekGetNumberOfOpenTickets(Int32.Parse(ddlWeek.SelectedValue), Int32.Parse(ddlYear.SelectedValue));
        List <int> New    = ScoreCardReports.WeekGetNumberOfNewTickets(Int32.Parse(ddlWeek.SelectedValue), Int32.Parse(ddlYear.SelectedValue));
        List <int> Closed = ScoreCardReports.WeekGetNumberOfClosedTickets(Int32.Parse(ddlWeek.SelectedValue), Int32.Parse(ddlYear.SelectedValue));

        myLabel = "Week " + ddlWeek.SelectedValue + " of " + ddlYear.SelectedValue;
        datasource.Add(new Tickets()
        {
            Open = Open[0], New = New[0], Closed = Closed[0], label = myLabel
        });

        //Databind
        WeeklyChart.DataSource = datasource;
    }
    protected void Chart12MthAging_TakeDataSource(object sender, Shield.Web.UI.ChartTakeDataSourceEventArgs e)
    {
        //Define datasource
        List <Tickets> datasource = new List <Tickets>();
        //Get Data from SQL Stored Procs
        List <int> agingData = ScoreCardReports.Get12WeekAgingTickets();

        List <string> label = ScoreCardReports.Get12WeekLabels();

        // Merge 3 arraylist data into multidimentional class array
        for (int i = 0; i < agingData.Count; i++)
        {
            datasource.Add(new Tickets()
            {
                Aging = agingData[i], label = label[i]
            });
        }

        //Databind
        ChartAging.DataSource = datasource;
    }
    protected void Chart12WkComparison_TakeDataSource(object sender, Shield.Web.UI.ChartTakeDataSourceEventArgs e)
    {
        //Define datasource
        List <Tickets> datasource = new List <Tickets>();
        //Get Data from SQL Stored Procs
        List <int>    closedData = ScoreCardReports.Week12GetNumberOfClosedTickets();
        List <int>    openData   = ScoreCardReports.Week12GetNumberOfOpenTickets();
        List <int>    newData    = ScoreCardReports.Week12GetNumberOfNewTickets();
        List <string> label      = ScoreCardReports.Get12WeekLabels();

        // Merge 3 arraylist data into multidimentional class array
        for (int i = 0; i < closedData.Count; i++)
        {
            datasource.Add(new Tickets()
            {
                Open = openData[i], New = newData[i], Closed = closedData[i], label = label[i]
            });
        }

        //Databind
        Chart12WkComparison.DataSource = datasource;
    }
    private void ClassLevelDrill()
    {
        //Get Data from SQL Stored Procs

        List <String> issueClass = ScoreCardReports.GetIssueClass();
        List <String> iTmembers  = new List <string>();

        if (showIT == true)
        {
            iTmembers = ScoreCardReports.GetITMembers();

            iTmembers.Remove("Unassigned"); //will always be 0 hours - no diplay
        }
        else
        {
            iTmembers.Add("ALL");
        }

        foreach (String name in iTmembers)
        {
            double none       = ScoreCardReports.GetNumberOfClasses(name, "none", Int32.Parse(ddlDrillWeek.SelectedValue), Int32.Parse(ddlDrillYear.SelectedValue));
            double fault      = ScoreCardReports.GetNumberOfClasses(name, "Fault/Failure", Int32.Parse(ddlDrillWeek.SelectedValue), Int32.Parse(ddlDrillYear.SelectedValue));
            double service    = ScoreCardReports.GetNumberOfClasses(name, "Service Request", Int32.Parse(ddlDrillWeek.SelectedValue), Int32.Parse(ddlDrillYear.SelectedValue));
            double assistance = ScoreCardReports.GetNumberOfClasses(name, "Assistance/Inquiry", Int32.Parse(ddlDrillWeek.SelectedValue), Int32.Parse(ddlDrillYear.SelectedValue));

            // Merge 3 arraylist data into multidimentional class array

            drillDownDatasource.Add(new Issues()
            {
                Unassigned = none, Fault = fault, Assistance = assistance, Service = service, label = name
            });
        }
        //this change
        //TypePanel.DataBind();

        TypePanel.TakeDataSource += WeekDrillDown_TakeDataSource;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        /** Calculate Year **/
        int       _currentyear;
        const int _year = 2013;

        _currentyear = DateTime.Now.Year;
        int _currentMonth = DateTime.Now.Month;

        //only add if list is clear -- it will add new items on every graph refresh

        if (ddlYear.Items.Count < 1 || ddlDrillYear.Items.Count < 1)
        {
            for (int s = _currentyear; s >= _year; s--)
            {
                ddlYear.Items.Add(new ListItem((s).ToString(), (s).ToString()));
                ddlDrillYear.Items.Add(new ListItem((s).ToString(), (s).ToString()));
                ddlYr.Items.Add(new ListItem((s).ToString(), (s).ToString()));
            }
        }
        //ddlYear.DataBind();

        /** Calculate Week **/
        CultureInfo ciCurr  = CultureInfo.CurrentCulture;
        int         weekNum = ciCurr.Calendar.GetWeekOfYear(DateTime.Now.Date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
        int         mthNum  = ciCurr.Calendar.GetMonthsInYear(DateTime.Now.Year);

        //only add if list if clear -- it will add new items on every graph refresh
        if (ddlWeek.Items.Count < 1 || ddlDrillWeek.Items.Count < 1)
        {
            for (int s = weekNum; s >= 1; s--)
            {
                ddlDrillWeek.Items.Add(new ListItem((s).ToString(), (s).ToString()));
                ddlWeek.Items.Add(new ListItem((s).ToString(), (s).ToString()));
            }
        }
        if (ddlMth.Items.Count < 1)
        {
            int stop = 12 - _currentMonth;
            for (int s = _currentMonth; s >= 1; s--)
            {
                ddlMth.Items.Add(new ListItem((s).ToString(), (s).ToString()));
            }

            for (int s = 12; s > 12 - stop; s--)
            {
                ddlMth.Items.Add(new ListItem((s).ToString(), (s).ToString()));
            }
        }

        if (ddlResource.Items.Count < 1)
        {
            List <String> members = new List <String>();
            //get IT Members
            members = ScoreCardReports.GetITMembers();
            members.Remove("Unassigned"); //should always be 0 hours - don't display

            foreach (String name in members)
            {
                ddlResource.Items.Add(name);
            }
        }


        if (ddlBacklogYear.Items.Count < 1)
        {
            List <int> years = new List <int>();
            //get IT Members
            years = ScoreCardReports.GetBacklog_Year();


            foreach (int name in years)
            {
                ddlBacklogYear.Items.Add(name.ToString());
            }
        }

        if (ddlBacklogWeek.Items.Count < 1)
        {
            List <int> weeks = new List <int>();
            //get IT Members
            weeks = ScoreCardReports.GetBacklog_Week();


            foreach (int name in weeks)
            {
                ddlBacklogWeek.Items.Add(name.ToString());
            }
        }
        CreateWeeklyChart();

        Create12WeekChart();
        CreateWeeklyIssuesDrillDown();
        CreateMonthlyIssuesDrillDown();
        CreateAgingChart();
        NewWeeklyByResource();
        CreateBacklog();
    }
示例#11
0
    public void CreateTicketHealthTrendChart()
    {
        List <double> averageOpenData  = new List <double>();
        List <double> averageCloseData = new List <double>();


        TicketHealthChart.Series["AverageOpen"].Points.Clear();
        TicketHealthChart.Series["AvergToClose"].Points.Clear();


        TicketHealthChart.Titles[0].Text = "Ticket Health";
        TicketHealthChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);

        averageCloseData = ScoreCardReports.GetAverageCloseTime();
        averageOpenData  = ScoreCardReports.GetAverageOpenTime();

        foreach (int value in averageOpenData)
        {
            TicketHealthChart.Series["AverageOpen"].Points.Add(value);
        }
        TicketHealthChart.Series["AverageOpen"].LegendText = "Average Day's Open";


        foreach (int value in averageCloseData)
        {
            TicketHealthChart.Series["AvergToClose"].Points.Add(value);
        }
        TicketHealthChart.Series["AvergToClose"].LegendText = "Average Day's To Close";



        CustomLabel customLabel = new CustomLabel(); System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();

        int selectedYear;
        int selectedMonth = DateTime.Today.Month - 1;

        if (selectedMonth < 1)
        {
            selectedMonth = 12;
        }

        int currentMonth = 0;

        if (selectedMonth == 12)
        {
            selectedYear = DateTime.Today.Year - 1;
            currentMonth = 1;
        }
        else
        {
            selectedYear = DateTime.Today.Year - 1;
            currentMonth = selectedMonth + 1;
        }


        double postion = 0.5;

        int postionModifier = 1;

        do
        {
            customLabel.Text         = mfi.GetMonthName(currentMonth).ToString() + @"-" + selectedYear.ToString();
            customLabel.FromPosition = postion;
            customLabel.ToPosition   = postion + postionModifier;
            postion += postionModifier;

            currentMonth++;
            if (currentMonth == 13)              // Roll over the month
            {
                currentMonth = 1;                //Jan
                selectedYear = selectedYear + 1; // Increase the year we are now in the previous year.
            }

            TicketHealthChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

            customLabel = new CustomLabel();
        } while (currentMonth != selectedMonth);

        customLabel.Text         = mfi.GetMonthName(currentMonth).ToString() + @"-" + selectedYear.ToString();
        customLabel.FromPosition = postion;
        customLabel.ToPosition   = postion + postionModifier;

        TicketHealthChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

        customLabel = new CustomLabel();
    }
示例#12
0
    public void CreateSixMonthTrendChart()
    {
        List <double> newData    = new List <double>();
        List <double> closedData = new List <double>();
        List <double> openData   = new List <double>();

        SixMonthTrendChart.Series["New"].Points.Clear();
        SixMonthTrendChart.Series["Closed"].Points.Clear();
        SixMonthTrendChart.Series["Open"].Points.Clear();


        SixMonthTrendChart.Titles[0].Text = "6 Month Trending";
        SixMonthTrendChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);

        closedData = ScoreCardReports.GetSixMonthTrendClosed();
        openData   = ScoreCardReports.GetSixMonthTrendOpen();
        newData    = ScoreCardReports.GetSixMonthTrendNew();


        foreach (int value in openData)
        {
            SixMonthTrendChart.Series["Open"].Points.Add(value);
        }

        SixMonthTrendChart.Series["Open"].LegendText = "Open";


        foreach (int value in newData)
        {
            SixMonthTrendChart.Series["New"].Points.Add(value);
        }
        SixMonthTrendChart.Series["New"].LegendText = "New";

        foreach (int value in closedData)
        {
            SixMonthTrendChart.Series["Closed"].Points.Add(value);
        }
        SixMonthTrendChart.Series["Closed"].LegendText = "Closed";

        CustomLabel customLabel = new CustomLabel();

        System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();

        DateTime d = new DateTime(2013, 01, 01);


        int selectedYear;
        int selectedMonth = DateTime.Today.Month;
        int currentMonth  = DateTime.Parse(DateTime.Today.AddMonths(-6).ToString()).Month;

        if (selectedMonth == 12)
        {
            selectedYear = DateTime.Today.Year;
        }
        else
        {
            selectedYear = DateTime.Parse(DateTime.Today.AddMonths(-6).ToString()).Year;
        }


        double postion = 0.5;

        int postionModifier = 1;

        do
        {
            customLabel.Text         = mfi.GetMonthName(currentMonth) + @"-" + selectedYear.ToString();
            customLabel.FromPosition = postion;
            customLabel.ToPosition   = postion + postionModifier;
            postion += postionModifier;

            currentMonth++;
            if (currentMonth == 13)              // Roll over the month
            {
                currentMonth = 1;                //Jan
                selectedYear = selectedYear + 1; // Increase the year we are now in the previous year.
            }

            SixMonthTrendChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

            customLabel = new CustomLabel();
        } while (currentMonth != selectedMonth);
    }
示例#13
0
    public void CreateASNIssueChart()
    {
        List <int> returnedData = new List <int>();

        ASNIssueChart.Titles[0].Text = "ASN Issues (" + GetYearString(DateTime.Now, 12) + ")";
        returnedData = ScoreCardReports.GetNumberOfASNIssues();

        ASNIssueChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);
        int asnCount = 0;

        foreach (int value in returnedData)
        {
            ASNIssueChart.Series["sData"].Points.Add(value);
            asnCount += value;
        }
        ASNIssueChart.Series["sData"].LegendText = "Asn Issues(" + asnCount + ")";

        CustomLabel customLabel = new CustomLabel();
        //string[] months = new string[] {"JAN", "FEB", "MAR", "APR",
        //        "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};

        int selectedYear;
        int selectedMonth = DateTime.Today.Month;
        int currentMonth  = 0;

        if (selectedMonth == 12)
        {
            selectedYear = DateTime.Today.Year;
            currentMonth = 1;
        }
        else
        {
            selectedYear = DateTime.Today.Year - 1;
            currentMonth = selectedMonth + 1;
        }


        double postion = 0.5;

        int postionModifier = 1;

        do
        {
            customLabel.Text         = (currentMonth).ToString() + @"-" + selectedYear.ToString();
            customLabel.FromPosition = postion;
            customLabel.ToPosition   = postion + postionModifier;
            postion += postionModifier;

            currentMonth++;
            if (currentMonth == 13)              // Roll over the month
            {
                currentMonth = 1;                //Jan
                selectedYear = selectedYear + 1; // Decrease the year we are now in the previous year.
            }

            ASNIssueChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

            customLabel = new CustomLabel();
        } while (currentMonth != selectedMonth);

        customLabel.Text         = (currentMonth).ToString() + @"-" + selectedYear.ToString();
        customLabel.FromPosition = postion;
        customLabel.ToPosition   = postion + postionModifier;

        ASNIssueChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

        customLabel = new CustomLabel();

        Series trendLine = createTrendLine(ASNIssueChart.Series["sData"]);

        trendLine.ChartType = SeriesChartType.Line;

        //ASNIssueChart.Series.Add(trendLine);
    }
示例#14
0
    public void CreateComparisonChart()
    {
        List <int> newData    = new List <int>();
        List <int> closedData = new List <int>();
        List <int> openData   = new List <int>();


        comparisonChart.Series["New"].Points.Clear();
        comparisonChart.Series["Closed"].Points.Clear();
        comparisonChart.Series["Open"].Points.Clear();


        comparisonChart.Titles[0].Text = "12 Months Statistics (" + GetYearString(DateTime.Now.AddMonths(-1), 12) + ")";

        comparisonChart.ChartAreas["caScoreCard"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 11);

        closedData = ScoreCardReports.GetNumberOfClosedTickets();
        openData   = ScoreCardReports.GetNumberOfOpenTickets();
        newData    = ScoreCardReports.GetNumberOfNewTickets();

        foreach (int value in openData)
        {
            comparisonChart.Series["Open"].Points.Add(value);
        }

        comparisonChart.Series["Open"].LegendText = "Open";

        int newTotal = 0;

        foreach (int value in newData)
        {
            comparisonChart.Series["New"].Points.Add(value);
            newTotal += value;
        }
        comparisonChart.Series["New"].LegendText = "New";

        int closedTotal = 0;

        foreach (int value in closedData)
        {
            comparisonChart.Series["Closed"].Points.Add(value);
            closedTotal += value;
        }
        comparisonChart.Series["Closed"].LegendText = "Closed";


        CustomLabel customLabel = new CustomLabel();

        string[] months = new string[] { "JAN", "FEB", "MAR", "APR",
                                         "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" };

        System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();

        int selectedYear;
        int selectedMonth = DateTime.Today.Month - 1;

        if (selectedMonth < 1)
        {
            selectedMonth = 12;
        }

        int currentMonth = 0;

        if (selectedMonth == 12)
        {
            selectedYear = DateTime.Today.Year - 1;
            currentMonth = 1;
        }
        else
        {
            selectedYear = DateTime.Today.Year - 1;
            currentMonth = selectedMonth + 1;
        }


        double postion = 0.5;

        int postionModifier = 1;

        do
        {
            customLabel.Text         = mfi.GetMonthName(currentMonth).ToString() + @"-" + selectedYear.ToString();
            customLabel.FromPosition = postion;
            customLabel.ToPosition   = postion + postionModifier;
            postion += postionModifier;

            currentMonth++;
            if (currentMonth == 13)              // Roll over the month
            {
                currentMonth = 1;                //Jan
                selectedYear = selectedYear + 1; // Increase the year we are now in the previous year.
            }

            comparisonChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

            customLabel = new CustomLabel();
        } while (currentMonth != selectedMonth);

        customLabel.Text         = mfi.GetMonthName(currentMonth).ToString() + @"-" + selectedYear.ToString();
        customLabel.FromPosition = postion;
        customLabel.ToPosition   = postion + postionModifier;

        comparisonChart.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);

        customLabel = new CustomLabel();
    }