예제 #1
0
        private PieSliceModel[] GetDataSource()
        {
            var   pieSlices = new List <PieSliceModel>();
            Int64 orderId;

            if (Int64.TryParse(Request["orderid"], out orderId) && orderId > 0)
            {
                using (var dataLayerObj = new clsData())
                {
                    dataLayerObj.objCon.Dispose();
                    dataLayerObj.objCon = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["fdeliveryDBConnectionString"].ConnectionString);
                    PieSliceModel pieSlice;
                    var           ht = new Hashtable();

                    ht.Add("order_id", (Int32)orderId);

                    try
                    {
                        var dt = dataLayerObj.GetDataTable("usp_GetOrderOverview", ht);

                        if (dt.Rows.Count > 0)
                        {
                            pieSlice = new PieSliceModel("Sent (" + dt.Rows[0]["Email_Sent"].ToString() + ")", (Single)(Int32)dt.Rows[0]["Email_Sent"]);
                            pieSlices.Add(pieSlice);
                            pieSlice = new PieSliceModel("Opened (" + dt.Rows[0]["Email_Opened"].ToString() + ")", (Single)(Int32)dt.Rows[0]["Email_Opened"]);
                            pieSlices.Add(pieSlice);
                            pieSlice = new PieSliceModel("Bounce Back (" + dt.Rows[0]["Email_Bounce_Back"].ToString() + ")", (Single)(Int32)dt.Rows[0]["Email_Bounce_Back"]);
                            pieSlices.Add(pieSlice);

                            message.MessageText  = String.Format("Chart data successfully generated for flyer ID={0}.", orderId.ToString());
                            message.MessageClass = Admin.Controls.MessageClassesEnum.Ok;
                        }
                        else
                        {
                            message.MessageText  = String.Format("Data for flyer ID={0} not found.", orderId.ToString());
                            message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                        }
                    }
                    catch (Exception ex)
                    {
                        message.MessageText  = ex.Message;
                        message.MessageClass = Admin.Controls.MessageClassesEnum.Error;
                    }
                }
            }
            else
            {
                message.MessageText  = String.Format("Flyer ID should be a positive integral number.");
                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
            }

            message.ShowMessage();

            var result = pieSlices.ToArray();

            return(result);
        }
예제 #2
0
        public List <PieSliceModel> GetMonthPieSlices(int id)
        {
            var monthDetail    = GetMonthById(id);
            var pieChartSlices = new List <PieSliceModel>();

            var totalBillsPairing = new PieSliceModel
            {
                Label  = "Bills",
                Amount = monthDetail.TotalBills
            };

            if (totalBillsPairing.Amount > 0)
            {
                pieChartSlices.Add(totalBillsPairing);
            }

            var totalSavingPairing = new PieSliceModel
            {
                Label  = "Savings",
                Amount = monthDetail.TotalSaving
            };

            if (totalSavingPairing.Amount > 0)
            {
                pieChartSlices.Add(totalSavingPairing);
            }

            var totalOneTimePairing = new PieSliceModel
            {
                Label  = "One-Time Expenses",
                Amount = monthDetail.TotalOneTimeExpenses
            };

            if (totalOneTimePairing.Amount > 0)
            {
                pieChartSlices.Add(totalOneTimePairing);
            }

            var totalBudgetedExpensesPairing = new PieSliceModel
            {
                Label  = "Budgeted Expenses",
                Amount = monthDetail.BudgetedExpenses
            };

            if (totalBudgetedExpensesPairing.Amount > 0)
            {
                pieChartSlices.Add(totalBudgetedExpensesPairing);
            }

            var disposableSpentPairing = new PieSliceModel
            {
                Label  = "Unbudgeted Money Spent",
                Amount = monthDetail.DisposableSpent
            };

            if (disposableSpentPairing.Amount > 0)
            {
                pieChartSlices.Add(disposableSpentPairing);
            }

            var disposableRemainingPairing = new PieSliceModel
            {
                Label  = "Spendable Money Remaining",
                Amount = monthDetail.DisposableRemaining
            };

            if (disposableRemainingPairing.Amount > 0)
            {
                pieChartSlices.Add(disposableRemainingPairing);
            }

            return(pieChartSlices);
        }