示例#1
0
    protected void FillForm()
    {
        try
        {
            if (!CheckIsValidStartEndDates())
            {
                return;
            }

            DataTable tblStats = OrganisationDB.GetStats(GetFromDate(), GetToDate(), UserView.GetInstance().IsClinicView ? 5 : 6, chkIncDeleted.Checked);
            lstOrgStats.DataSource = tblStats;
            lstOrgStats.DataBind();

            // get from footer

            Label lblSum_TotalBookings  = (Label)lstOrgStats.Controls[lstOrgStats.Controls.Count - 1].Controls[0].FindControl("lblSum_TotalBookings");
            Label lblSum_AvgConsultTime = (Label)lstOrgStats.Controls[lstOrgStats.Controls.Count - 1].Controls[0].FindControl("lblSum_AvgConsultTime");
            Label lblSum_Bookings       = (Label)lstOrgStats.Controls[lstOrgStats.Controls.Count - 1].Controls[0].FindControl("lblSum_Bookings");
            Label lblSum_Patients       = (Label)lstOrgStats.Controls[lstOrgStats.Controls.Count - 1].Controls[0].FindControl("lblSum_Patients");

            lblSum_TotalBookings.Text = String.Format("{0:n0}", tblStats.Compute("Sum(total_bookings)", ""));

            decimal total = 0;
            int     count = 0;
            for (int i = 0; i < tblStats.Rows.Count; i++)
            {
                if (tblStats.Rows[i]["avg_minutes"] == DBNull.Value)
                {
                    continue;
                }
                total += Convert.ToDecimal(tblStats.Rows[i]["avg_minutes"]);
                count++;
            }
            if (count > 0)
            {
                lblSum_AvgConsultTime.Text = String.Format("{0:n0}", total / count);
            }

            lblSum_Bookings.Text = String.Format("{0:n0}", tblStats.Compute("Sum(n_bookings)", ""));
            lblSum_Patients.Text = String.Format("{0:n0}", tblStats.Compute("Sum(n_patients)", ""));
        }
        catch (CustomMessageException cmEx)
        {
            HideTableAndSetErrorMessage(cmEx.Message);
        }
        catch (Exception ex)
        {
            HideTableAndSetErrorMessage(Utilities.IsDev() ? ex.ToString() : string.Empty);
        }
    }
示例#2
0
    protected void FillForm()
    {
        try
        {
            if (!CheckIsValidStartEndDates())
            {
                return;
            }

            SeriesChartType chartType = SeriesChartType.StackedBar;
            if (ddlChartType.SelectedValue == "Pie")
            {
                chartType = SeriesChartType.Pie;
            }
            if (ddlChartType.SelectedValue == "Doughnut")
            {
                chartType = SeriesChartType.Doughnut;
            }
            if (ddlChartType.SelectedValue == "StackedBar")
            {
                chartType = SeriesChartType.StackedBar;
            }
            if (ddlChartType.SelectedValue == "Area")
            {
                chartType = SeriesChartType.Area;
            }
            if (ddlChartType.SelectedValue == "BoxPlot")
            {
                chartType = SeriesChartType.BoxPlot;
            }
            if (ddlChartType.SelectedValue == "Column")
            {
                chartType = SeriesChartType.Column;
            }
            if (ddlChartType.SelectedValue == "Line")
            {
                chartType = SeriesChartType.Line;
            }
            if (ddlChartType.SelectedValue == "Point")
            {
                chartType = SeriesChartType.Point;
            }
            if (ddlChartType.SelectedValue == "Range")
            {
                chartType = SeriesChartType.Range;
            }
            if (ddlChartType.SelectedValue == "RangeBar")
            {
                chartType = SeriesChartType.RangeBar;
            }
            if (ddlChartType.SelectedValue == "RangeColumn")
            {
                chartType = SeriesChartType.RangeColumn;
            }

            chartOrgStats.Series["Series1"].ChartType = chartType;



            DataTable tblStats = OrganisationDB.GetStats(GetFromDate(), GetToDate(), UserView.GetInstance().IsClinicView ? 5 : 6, chkIncDeleted.Checked);

            int maxToShow = 350;
            if (tblStats.Rows.Count > maxToShow)
            {
                for (int i = tblStats.Rows.Count - 1; i >= maxToShow; i--)
                {
                    tblStats.Rows.RemoveAt(i);
                }
            }

            DataView dv = tblStats.DefaultView;

            string field = string.Empty;
            if (ddlType.SelectedValue == "New Bookings Added By")
            {
                field = "n_bookings";
            }
            if (ddlType.SelectedValue == "New Patients")
            {
                field = "n_patients";
            }
            if (ddlType.SelectedValue == "Total Bookings")
            {
                field = "total_bookings";
            }

            dv.Sort = field;

            chartOrgStats.Titles[0].Text = ddlType.SelectedValue;
            chartOrgStats.Series["Series1"].Points.DataBindXY(dv, "name", dv, field);

            lblChartHeading.Text = ddlType.SelectedValue;

            if (chartType == SeriesChartType.StackedBar)
            {
                chartOrgStats.Height = new Unit((tblStats.Rows.Count * 30), UnitType.Pixel);
            }

            chartOrgStats.ChartAreas["ChartArea1"].AxisX.MinorTickMark.Enabled = false;
            chartOrgStats.ChartAreas["ChartArea1"].AxisX.Interval       = 1;
            chartOrgStats.ChartAreas["ChartArea1"].AxisX.IsLabelAutoFit = true;
            //chartOrgStats.ChartAreas["ChartArea1").AxisX.LabelStyle.IsStaggered = True
            //chartOrgStats.ChartAreas["ChartArea1"].AxisX.LabelAutoFitStyle = System.Web.UI.DataVisualization.Charting.LabelAutoFitStyles.DecreaseFont;

            chartOrgStats.ChartAreas["ChartArea1"].AxisY.Enabled = System.Web.UI.DataVisualization.Charting.AxisEnabled.False;

            if (chartType == SeriesChartType.Pie || chartType == SeriesChartType.Doughnut)
            {
                chartOrgStats.Legends.Add("Legend1");
                chartOrgStats.Legends["Legend1"].Enabled         = true;
                chartOrgStats.Legends["Legend1"].Docking         = System.Web.UI.DataVisualization.Charting.Docking.Right;
                chartOrgStats.Legends["Legend1"].LegendItemOrder = System.Web.UI.DataVisualization.Charting.LegendItemOrder.SameAsSeriesOrder;
                chartOrgStats.Legends["Legend1"].Font            = new Font("Trebuchet MS", 10);

                // Add Color column
                LegendCellColumn firstColumn = new LegendCellColumn();
                firstColumn.ColumnType = LegendCellColumnType.SeriesSymbol;
                chartOrgStats.Legends["Legend1"].CellColumns.Add(firstColumn);

                // Add name cell column
                LegendCellColumn textColumn = new LegendCellColumn();
                textColumn.Alignment = System.Drawing.ContentAlignment.MiddleLeft;
                textColumn.Text      = "#LEGENDTEXT";
                textColumn.Name      = "nameColumn";
                chartOrgStats.Legends["Legend1"].CellColumns.Add(textColumn);

                // Add value cell column
                LegendCellColumn valColumn = new LegendCellColumn();
                valColumn.Text = "#VAL";
                valColumn.Name = "totalColumn";
                chartOrgStats.Legends["Legend1"].CellColumns.Add(valColumn);

                // Add percent cell column
                LegendCellColumn percentColumn = new LegendCellColumn();
                percentColumn.Text = "#PERCENT";
                percentColumn.Name = "percentColumn";
                chartOrgStats.Legends["Legend1"].CellColumns.Add(percentColumn);
            }
        }
        catch (CustomMessageException cmEx)
        {
            HideTableAndSetErrorMessage(cmEx.Message);
        }
        catch (Exception ex)
        {
            HideTableAndSetErrorMessage(ex.ToString());
        }
    }