// #Agreements Breakdown by Service Type
        protected PieCharts GetPieChartNoAgreementByServiceType(IList <ChildAgreements> listChildAgreements) // query from database and return charts object
        {
            Dictionary <string, string> DictPlacementCategory = GetDictServiceType();

            var ePieCharts = new PieCharts();

            ePieCharts.SetDefault(false);
            ePieCharts.title.text = "Number of Agreement breakdown by Service Type";

            ePieCharts.series = new List <ACCDataStore.Entity.RenderObject.Charts.PieCharts.series>();
            if (listChildAgreements != null && listChildAgreements.Count > 0)
            {
                var listResults = listChildAgreements.GroupBy(x => x.Service_Type).Select(r => new
                {
                    Client_id = r.First().Service_Type,
                    Count     = r.Count().ToString(),
                    Cost      = r.Sum(xl => xl.actual_cost).ToString()
                }).OrderByDescending(x => x.Cost).ToList();


                List <dataItem> listdata = new List <dataItem>()
                {
                };

                foreach (var temp in listResults)
                {
                    dataItem dataItem = new dataItem();
                    dataItem.name   = DictPlacementCategory[temp.Client_id];
                    dataItem.y      = (float?)Convert.ToDouble(temp.Count);
                    dataItem.sliced = true;
                    listdata.Add(dataItem);
                }

                ePieCharts.series.Add(new ACCDataStore.Entity.RenderObject.Charts.PieCharts.series()
                {
                    name         = listChildAgreements[0].client_id,
                    data         = listdata,
                    colorByPoint = true
                });
            }

            ePieCharts.exporting = new ACCDataStore.Entity.RenderObject.Charts.Generic.exporting()
            {
                enabled  = true,
                filename = "export"
            };

            //ePieCharts.chart.options3d = new Entity.RenderObject.Charts.Generic.options3d() { enabled = true, alpha = 10, beta = 10 }; // enable 3d charts

            return(ePieCharts);
        }
Beispiel #2
0
        public JsonResult GetAllTicketTypesChartData()
        {
            var pieChartVM = new PieCharts();
            var types      = db.TicketTypes.ToList();
            var myTickets  = ticketHelper.ListMyTickets();

            foreach (var type in types)
            {
                pieChartVM.Labels.Add(type.Name);
                pieChartVM.Colors.Add(type.Color);
                pieChartVM.Values.Add(myTickets.Where(t => t.TicketTypeId == type.Id).Count());
            }
            return(Json(pieChartVM));
        }
Beispiel #3
0
        public JsonResult GetAllTicketStatusChartData()
        {
            var pieChartVM = new PieCharts();
            var statuses   = db.TicketStatus.ToList();
            var myTickets  = ticketHelper.ListMyChartTickets();

            foreach (var status in statuses)
            {
                pieChartVM.Labels.Add(status.Name);
                pieChartVM.Colors.Add(status.Color);
                pieChartVM.Values.Add(myTickets.Where(t => t.TicketStatusId == status.Id).Count());
            }
            return(Json(pieChartVM));
        }
Beispiel #4
0
        //GET: Chart
        public JsonResult GetAllTicketPriorityChartData()
        {
            var pieChartVM = new PieCharts();
            var priorities = db.TicketPriorities.ToList();
            var myTickets  = ticketHelper.ListMyTickets();

            foreach (var priority in priorities)
            {
                pieChartVM.Labels.Add(priority.Name);
                pieChartVM.Colors.Add(priority.Color);
                pieChartVM.Values.Add(myTickets.Where(t => t.TicketPriorityId == priority.Id).Count());
            }
            return(Json(pieChartVM));
        }
Beispiel #5
0
        public JsonResult GetActiveTicketTypeChartData()
        {
            var pieChartVM             = new PieCharts();
            var types                  = db.TicketTypes.ToList();
            var ticketStatusUnassigned = db.TicketStatus.FirstOrDefault(s => s.Name == "Unassigned").Id;
            var ticketStatusAssigned   = db.TicketStatus.FirstOrDefault(s => s.Name == "Assigned").Id;
            var myTickets              = ticketHelper.ListMyTickets();

            myTickets = myTickets.Where(t => t.TicketStatusId == ticketStatusUnassigned).ToList();

            foreach (var type in types)
            {
                pieChartVM.Labels.Add(type.Name);
                pieChartVM.Colors.Add(type.Color);
                pieChartVM.Values.Add(myTickets.Where(t => t.TicketTypeId == type.Id).Count());
            }
            return(Json(pieChartVM));
        }
        public MainCategoriesViewModel(List <CategorySummary> categorySummaries, DateRangeViewModel dateRangeVm)
        {
            DateRangeVm  = dateRangeVm;
            ExpensesCost = categorySummaries.Sum(x => x.ExpensesCost);

            foreach (var item in categorySummaries)
            {
                PieCharts.Add(new ExpensesPieChartViewModel()
                {
                    TooltipLabels      = item.SummaryItems.Select(x => $"{x.Name}: {x.Percentage}% ({x.Value} zł)").ToList(),
                    LegendLabels       = item.SummaryItems.Select(x => x.Name + $" ({x.Value} zł)").ToList(),
                    Percentages        = item.SummaryItems.Select(x => (decimal)x.Percentage).ToList(),
                    Title              = $"{item.Category.Name} ({item.ExpensesCost} zł)",
                    HexBgColors        = GetChartItemBgColors(item.SummaryItems.Count()),
                    ExpensesCategoryId = item.Category.Id
                });
            }
        }
Beispiel #7
0
        public JsonResult GetActiveTicketPriorityChartData()
        {
            var pieChartVM             = new PieCharts();
            var priorities             = db.TicketPriorities.ToList();
            var ticketStatusUnassigned = db.TicketStatus.FirstOrDefault(s => s.Name == "Unassigned").Id;
            var ticketStatusAssigned   = db.TicketStatus.FirstOrDefault(s => s.Name == "Assigned").Id;
            var myTickets = ticketHelper.ListMyTickets();

            //Need the Where syntax Where TicketStatusId IN(ticketStatusUnassigned, ticketStatusAssigned)
            myTickets = myTickets.Where(t => t.TicketStatusId == ticketStatusUnassigned || t.TicketStatusId == ticketStatusAssigned).ToList();

            foreach (var priority in priorities)
            {
                pieChartVM.Labels.Add(priority.Name);
                pieChartVM.Colors.Add(priority.Color);
                pieChartVM.Values.Add(myTickets.Where(t => t.TicketPriorityId == priority.Id).Count());
            }
            return(Json(pieChartVM));
        }
Beispiel #8
0
 void Awake()
 {
     pieCharts = FindObjectOfType <PieCharts>();
     payOut    = FindObjectOfType <PayOut>();
 }