Ejemplo n.º 1
0
        public JsonResult GetChart()
        {
            IEnumerable <ChartVM> chartInfo = null;
            List <ChartVM>        chartData = new List <ChartVM>();

            client.DefaultRequestHeaders.Add("Authorization", HttpContext.Session.GetString("JWToken"));
            var responseTask = client.GetAsync("Employee/Chart");

            responseTask.Wait();
            var result = responseTask.Result;

            if (result.IsSuccessStatusCode)
            {
                var readTask = result.Content.ReadAsAsync <IList <ChartVM> >(); //Get all the data from the API
                readTask.Wait();
                chartInfo = readTask.Result;
                foreach (var item in chartInfo)
                {
                    ChartVM data = new ChartVM();
                    data.label = item.label;
                    data.value = item.value;
                    chartData.Add(data);
                }
                var json = JsonConvert.SerializeObject(chartData, Formatting.Indented);
                return(Json(json));
            }
            return(Json("internal server error"));
        }
Ejemplo n.º 2
0
        // GET: GetCurrentBalancChart
        public JsonResult AccountBalanceChartData()
        {
            var hhId      = User.Identity.GetHouseholdId();
            var colorList = new List <string>();

            colorList.Add("#4f98c3");
            colorList.Add("#d2d6de");
            colorList.Add("#232323");
            colorList.Add("#FFFF00");
            colorList.Add("#000000");

            var rand         = new Random();
            var chartVM      = new ChartVM();
            var chartDataSet = new ChartDataSet();
            var bankaccounts = db.BankAccounts.Where(b => b.HouseholdId == hhId).ToList();
            var dataKey      = 0;

            //chartVM.Datasets.Insert(dataKey, "");
            foreach (var accountbalance in bankaccounts)
            {
                //barChartVM.Datasets.Add(new KeyValuePair<int, string>(count, colorList[dataKey]));

                chartDataSet.data.Add(accountbalance.CurrentBalance);
                chartDataSet.backgroundColor.Add(colorList[dataKey]);
                chartVM.labels.Add(accountbalance.BankAccountType.Type);
                dataKey++;
            }
            chartVM.datasets.Add(chartDataSet);

            return(Json(chartVM, JsonRequestBehavior.AllowGet));
        }
        public async Task <IActionResult> Charts()
        {
            Random r = new Random();

            var balanceReports = await _balanceRepo.FindAll();

            var mappedReports  = _mapper.Map <List <BalanceReportVM> >(balanceReports);
            var groupedReports = mappedReports.GroupBy(x => new
            {
                Month = x.Date.Month,
                Year  = x.Date.Year
            });

            var datasets = new List <ChartObject>();

            foreach (var month in groupedReports)
            {
                var chartObject = new ChartObject
                {
                    Label           = GetMonthName(month.Key.Month) + " " + month.Key.Year,
                    Data            = month.Select(report => report.Value).ToArray(),
                    BackgroundColor = "rgba" + (r.Next(0, 256), r.Next(0, 256), r.Next(0, 256), 1).ToString()
                };
                datasets.Add(chartObject);
            }

            var chartViewModel = new ChartVM
            {
                Labels   = groupedReports.FirstOrDefault().Select(x => x.Account.Name).ToArray(),
                Datasets = datasets.ToArray()
            };


            return(View(chartViewModel));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <ChartVM> > CreateChart(ChartVM chartVM)
        {
            try
            {
                if (chartVM == null)
                {
                    return(BadRequest());
                }

                // Add custom model validation error
                Chart chart = await chartRepository.GetChartByname(chartVM.Chart);

                if (chart != null)
                {
                    ModelState.AddModelError("Name", $"Chart name: {chartVM.Chart.Name} already in use");
                    return(BadRequest(ModelState));
                }

                await chartRepository.CreateChart(chartVM);

                return(CreatedAtAction(nameof(GetChart),
                                       new { id = chartVM.Chart.Id }, chartVM));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
Ejemplo n.º 5
0
        public ActionResult MyImmediate_Data()
        {
            var ChartVM = new ChartVM();

            var myTickets = ticketsHelper.GetMyTicketsByRole(User.Identity.GetUserId());
            //var myProjects = projHelper.ListUserProjects(User.Identity.GetUserId());
            var projects = new List <string>
            {
                "Baratheon",
                "Tyrell",
                "Stark",
                "Lannister",
                "Targaryen",
                "Dorne"
            };

            foreach (var entry in projects)
            {
                ChartVM.Data.Add(new ChartData
                {
                    Label = entry,
                    Value = myTickets.Where(t => t.Project.Name == entry && t.TicketPriority.Name == "Immediate").Count().ToString()
                });
            }
            return(Content(JsonConvert.SerializeObject(ChartVM), "application/json"));
        }
Ejemplo n.º 6
0
        public JsonResult GetTicketStatusChartData()
        {
            var colorList = new List <string>();

            colorList.Add("#D3D3D3");
            colorList.Add("#ffa1a1");
            colorList.Add("#F2f3f7");
            colorList.Add("#6c757d");
            colorList.Add("#232323");
            var rand         = new Random();
            var barChartVM   = new ChartVM();
            var chartDataSet = new ChartDataSet();
            var statuses     = db.TicketStatuses.ToList();
            var dataKey      = 0;

            foreach (var status in statuses)
            {
                var count = db.Tickets.Where(t => t.TicketStatusId == status.Id).Count();
                //barChartVM.Datasets.Add(new KeyValuePair<int, string>(count, colorList[dataKey]));
                chartDataSet.data.Add(count);
                chartDataSet.backgroundColor.Add(colorList[dataKey]);
                barChartVM.labels.Add(status.Name);
                dataKey++;
            }
            barChartVM.datasets.Add(chartDataSet);
            return(Json(barChartVM, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        // GET: GetTicketPriorityChart
        public JsonResult GetTicketPriorityChart()

        {
            var colorList = new List <string>();

            colorList.Add("#D3D3D3");
            colorList.Add("#ffa1a1");
            colorList.Add("#232323");
            colorList.Add("#FFFF00");

            var rand         = new Random();
            var chartVM      = new ChartVM();
            var chartDataSet = new ChartDataSet();
            var priorities   = db.TicketPriorities.ToList();
            var dataKey      = 0;

            //barChartVM.Datasets.Insert(dataKey, "Priorities");
            foreach (var priority in priorities)
            {
                var count = db.Tickets.Where(t => t.TicketPriorityId == priority.Id).Count();

                //barChartVM.Datasets.Add(new KeyValuePair<int, string>(count, colorList[dataKey]));

                chartDataSet.data.Add(count);
                chartDataSet.backgroundColor.Add(colorList[dataKey]);
                chartVM.labels.Add(priority.Name);
                dataKey++;
            }
            chartVM.datasets.Add(chartDataSet);

            return(Json(chartVM, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 8
0
        public JsonResult GetChart()
        {
            IEnumerable <ChartVM> chartInfo = null;
            List <ChartVM>        chartData = new List <ChartVM>();
            var client = new HttpClient
            {
                BaseAddress = new Uri("https://localhost:44398/api/")
            };

            //Get the session with token and set authorize bearer token to API header
            client.DefaultRequestHeaders.Add("Authorization", HttpContext.Session.GetString("JWToken"));
            var responseTask = client.GetAsync("Employees/ChartInfo"); //Access data from employees API

            responseTask.Wait();                                       //Waits for the Task to complete execution.
            var result = responseTask.Result;

            if (result.IsSuccessStatusCode)                                     // if access success
            {
                var readTask = result.Content.ReadAsAsync <IList <ChartVM> >(); //Get all the data from the API
                readTask.Wait();
                chartInfo = readTask.Result;
                foreach (var item in chartInfo)
                {
                    ChartVM data = new ChartVM();
                    data.label = item.label;
                    data.value = item.Total;
                    chartData.Add(data);
                }
                var json = JsonConvert.SerializeObject(chartData, Formatting.Indented);
                return(Json(json));
            }
            return(Json("internal server error"));
        }
Ejemplo n.º 9
0
        public void OneWayPropertyBinding_DifferentPropertySameType_BindedCorrectly()
        {
            // Arrange
            ChartVM source = new ChartVM {
                BottomPadding = 0,
                LeftPadding   = 0,
                RightPadding  = 0,
                TopPadding    = 0,
            };
            ChartVM destination = new ChartVM {
                BottomPadding = 10,
                LeftPadding   = 10,
                RightPadding  = 10,
                TopPadding    = 10,
            };

            var binding = new OneWayPropertyBinding <int, int> (destination,
                                                                (vm) => ((ChartVM)vm).RightPadding,
                                                                (vm) => ((ChartVM)vm).BottomPadding);

            binding.ViewModel = source;

            // Act
            source.RightPadding = 999;

            // Assert
            Assert.AreNotEqual(source.BottomPadding, destination.BottomPadding);
            Assert.AreEqual(source.RightPadding, destination.BottomPadding);
        }
Ejemplo n.º 10
0
        public IActionResult Index()
        {
            var reservationsList = _context.Reservation.Where(r => r.ReservationDate <= DateTime.Now.AddMonths(2) && r.ReservationDate >= DateTime.Now.AddMonths(-5)).ToList();

            var monthList      = new List <string>();
            var monthCountList = new List <int>();

            for (int i = 0; i <= 5; i++)
            {
                var dateTime = DateTime.Now.AddMonths(-i).ToString("MMM yyyy", CultureInfo.InvariantCulture);
                monthList.Add(dateTime);
                monthCountList.Add(reservationsList.Count(r => r.ReservationDate.ToString("MMM yyyy", CultureInfo.InvariantCulture) == dateTime));
            }
            monthList.Reverse();
            monthCountList.Reverse();
            var adminVM = new AdminVM();

            if (monthCountList.Count > 0 && monthList.Count > 0)
            {
                adminVM = new AdminVM();
                adminVM.Reservations = reservationsList;
                var chart = new ChartVM {
                    LastSixMonths = monthList, ReservationCounts = monthCountList
                };
                adminVM.ChartVm = chart;
            }
            return(View(adminVM));
        }
        private async void Start(ObservableCollection <StatisticsM.Step> Steps)
        {
            await Loading.Show();

            ChartVM          = new ChartVM(SetLayout, Steps);
            this.DataContext = ChartVM;
            InitializeComponent();
        }
Ejemplo n.º 12
0
        public ChartsDialog(BindingList <Model> item)
        {
            InitializeComponent();

            var result = new ChartVM(item);

            Series.ItemsSource = result;
        }
Ejemplo n.º 13
0
        private void buildChart(object obj)
        {
            UpdateTypes();
            var chartVM = new ChartVM(PizzaTypes);
            var dialog  = new ChartDialog(chartVM);

            dialog.ShowDialog();
        }
Ejemplo n.º 14
0
        public ChartUC()
        {
            Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MzQ2NjAwQDMxMzgyZTMzMmUzME45UGJPaW5QQkUvL0htbCszMjlNdGNyNjJncUpTVnM5MWQ3K2s0SFFjSmM9");
            ChartVM VM = new ChartVM();

            DataContext = VM;
            InitializeComponent();
        }
Ejemplo n.º 15
0
        public ActionResult Reports(int id)
        {
            ChartVM vm = new ChartVM();

            vm.ID = id;
            ViewBag.Playername = db.Players.Find(id).Full_Name;
            return(View(vm));
        }
Ejemplo n.º 16
0
        public ActionResult History(int id)
        {
            ChartVM vm = new ChartVM();

            ViewBag.Playername = db.Players.Find(id).Full_Name;
            vm.History         = db.History_for_player.OrderBy(a => a.Datetime).Where(a => a.Player_id == id).ToList();
            return(View(vm));
        }
Ejemplo n.º 17
0
        public async Task <ChartVM> GetChart(int id)
        {
            ChartVM chartVM = new ChartVM();

            chartVM.Chart = await appDbContext.Charts.FirstOrDefaultAsync(e => e.Id == id);

            return(chartVM);
        }
Ejemplo n.º 18
0
        public async Task <ChartVM> CreateChart(ChartVM chartVM)
        {
            var result = await appDbContext.Charts.AddAsync(chartVM.Chart);

            await appDbContext.SaveChangesAsync();

            chartVM.Chart = result.Entity;
            return(chartVM);
        }
Ejemplo n.º 19
0
        private async Task <ChartVM> CheckDeserialize(HttpResponseWrapper <ChartVM> httpResponseWrapper)
        {
            ChartVM chartVM = new ChartVM();

            if (httpResponseWrapper.Success)
            {
                chartVM = await Deserialize <ChartVM>(httpResponseWrapper.HttpResponseMessage, defaultJsonSerializerOptions);
            }
            else
            {
                chartVM.Exception = await httpResponseWrapper.GetBody();
            }

            return(chartVM);
        }
Ejemplo n.º 20
0
        public ActionResult RegistrationsOverview()
        {
            ChartVM barChartVM = new ChartVM();
            IEnumerable <Department> departments = _departmentService.GetAll();

            foreach (var department in departments)
            {
                int count = department.Courses.Sum(x => x.Sections.Sum(y => y.Students.Distinct().Count()));
                //if (count != 0)
                barChartVM.Labels.Add(department.Name);
                barChartVM.Data.Add(count);
            }

            return(View(barChartVM));
        }
        public ChartVM GetChartInfoByTankMeasurementType(int tankTypeId, int tankMeasurementTypeId)
        {
            ChartVM returnValue = new ChartVM();
            var     tanks       = _tankMeasurementService.GetTankMeasurements().Where(t =>
                                                                                      t.TankTypeId == tankTypeId &&
                                                                                      t.TankMeasurementTypeId == tankMeasurementTypeId).OrderBy(m => m.TankMeasurementDatetime);;

            returnValue.ChartStartDate = tanks.First().TankMeasurementDatetime;
            returnValue.ChartEndDate   = tanks.Last().TankMeasurementDatetime;

            returnValue.LowValue   = tanks.First().LowNominalValue;
            returnValue.IdealValue = tanks.First().IdealNominalValue;
            returnValue.HighValue  = tanks.First().HighNominalValue;

            return(returnValue);
        }
Ejemplo n.º 22
0
        public ActionResult Increase(int id)
        {
            Chart   chart = unit.ChartRepo.FirstOrDefault(x => x.ID == id);
            int     Price = unit.ProductRepo.FirstOrDefault(x => x.ID == chart.ProductID).Price;
            ChartVM model = new ChartVM();

            chart.Quantity  += 1;
            chart.TotalPrice = (Price * chart.Quantity);
            unit.ChartRepo.Update(chart);

            model.ID         = chart.ID;
            model.ProductID  = chart.ProductID;
            model.Quantity   = chart.Quantity;
            model.TotalPrice = chart.TotalPrice;
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        public ActionResult AddToChart(int id)
        {
            Chart   chart = unit.ChartRepo.FirstOrDefault(x => x.ProductID == id);
            ChartVM model = new ChartVM();

            //eğer eklemek istenen ürün daha önceden hiç sepete eklenmediyse çalışan alan
            if (chart == null)
            {
                Chart   chartDB = new Chart();
                Product product = unit.ProductRepo.FirstOrDefault(x => x.ID == id);

                chartDB.IsDeleted  = false;
                chartDB.ProductID  = product.ID;
                chartDB.Quantity   = 1;
                chartDB.TotalPrice = product.Price;
                unit.ChartRepo.Add(chartDB);


                model.ProductID     = product.ID;
                model.ProductImgURL = product.ImageURL;
                model.ProductName   = product.Name;
                model.ProductPrice  = product.Price;
                model.TotalPrice    = chartDB.TotalPrice;
                model.Quantity      = 1;
                model.ID            = chartDB.ID;


                return(Json(model, JsonRequestBehavior.AllowGet));
            }

            //Ürün daha önce sepete eklenmiş ise çalışan alan. burda miktar arttırıyoruz
            else
            {
                model.ID            = chart.ID;
                model.ProductID     = chart.ProductID;
                model.ProductImgURL = chart.Products.ImageURL;
                model.ProductName   = chart.Products.Name;
                model.Quantity      = chart.Quantity + 1;
                model.TotalPrice    = (chart.Products.Price) * (model.Quantity);

                chart.TotalPrice = model.TotalPrice;
                chart.Quantity  += 1;
                unit.ChartRepo.Update(chart);

                return(Json(model, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 24
0
        public ChartVM Compare(string kpilevelcode, string period)
        {
            var model = new ChartVM();
            var item  = _dbContext.KPILevels.FirstOrDefault(x => x.KPILevelCode == kpilevelcode);

            model.kpiname      = _dbContext.KPIs.Find(item.KPIID).Name;
            model.label        = _dbContext.Levels.FirstOrDefault(x => x.ID == item.LevelID).Name;
            model.kpilevelcode = kpilevelcode;
            if (period == "W")
            {
                var datasetsKPILevel1 = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Week).Select(x => x.Value).ToArray();
                var labelsKPILevel1   = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Week).Select(x => x.Week).ToArray();
                var labels1           = Array.ConvertAll(labelsKPILevel1, x => x.ToSafetyString());
                model.datasets = datasetsKPILevel1;
                model.labels   = labels1;
                model.period   = period;
            }
            if (period == "M")
            {
                var datasetsKPILevel1 = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Month).Select(x => x.Value).ToArray();
                var labelsKPILevel1   = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Month).Select(x => x.Month).ToArray();
                var labels1           = Array.ConvertAll(labelsKPILevel1, x => x.ToSafetyString());
                model.datasets = datasetsKPILevel1;
                model.labels   = labels1;
                model.period   = period;
            }
            if (period == "Q")
            {
                var datasetsKPILevel1 = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Quater).Select(x => x.Value).ToArray();
                var labelsKPILevel1   = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Quater).Select(x => x.Quater).ToArray();
                var labels1           = Array.ConvertAll(labelsKPILevel1, x => x.ToSafetyString());
                model.datasets = datasetsKPILevel1;
                model.labels   = labels1;
                model.period   = period;
            }
            if (period == "Y")
            {
                var datasetsKPILevel1 = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Year).Select(x => x.Value).ToArray();
                var labelsKPILevel1   = _dbContext.Datas.Where(x => x.KPILevelCode == kpilevelcode && x.KPIKind == period).OrderBy(x => x.Year).Select(x => x.Year).ToArray();
                var labels1           = Array.ConvertAll(labelsKPILevel1, x => x.ToSafetyString());
                model.datasets = datasetsKPILevel1;
                model.labels   = labels1;
                model.period   = period;
            }
            return(model);
        }
Ejemplo n.º 25
0
        public async Task <ChartVM> UpdateChart(ChartVM chartVM)
        {
            Chart result = await appDbContext.Charts
                           .FirstOrDefaultAsync(e => e.Id == chartVM.Chart.Id);

            if (result != null)
            {
                appDbContext.Entry(result).State = EntityState.Detached;
                result = mapper.Map(chartVM.Chart, result);
                appDbContext.Entry(result).State = EntityState.Modified;

                await appDbContext.SaveChangesAsync();

                return(new ChartVM {
                    Chart = result
                });
            }

            return(null);
        }
Ejemplo n.º 26
0
        public async Task <List <ChartVM> > LoadChar()
        {
            //var dep = new Division();
            var data = await _context.divisions.Include("Department").Select(j => j.DepartmentId).Distinct().ToListAsync();

            var success = _context.divisions
                          .Where(j => j.Department.Name == "Add")
                          .GroupBy(j => j.DepartmentId)
                          .Select(group => new {
                DepartmentId = group.Key,
                Count        = group.Count()
            });
            var countSuccess = success.Select(a => a.Count).ToList();
            var exception    = _context.divisions
                               .Where(j => j.Department.Name == "Development")
                               .GroupBy(j => j.DepartmentId)
                               .Select(group => new {
                DepartmentId = group.Key,
                Count        = group.Count()
            });
            var countException = exception.Select(a => a.Count).ToList();
            //var total = new ChartVM
            //{
            //    CountA = countSuccess.First(),
            //    CountB = countException.First()
            //};
            List <ChartVM> list = new List <ChartVM>();
            //foreach (var employee in data)
            //{
            var total = new ChartVM
            {
                CountA = countSuccess.First(),
                CountB = countException.First()
            };

            list.Add(total);
            //}
            return(list);
            //return new JsonResult(new { myData = data, mySuccess = countSuccess, myException = countException });
            //return new JsonResult(total);
        }
Ejemplo n.º 27
0
        public List <ChartVM> GetCount()
        {
            Query = "SELECT DISTINCT Department_tb.DeptCode as Code, Department_tb.Id as Did, COUNT(Student_tb.Id) over " +
                    "(partition by Student_tb.DeptId) as Student FROM Department_tb INNER JOIN Student_tb on " +
                    "Department_tb.Id = Student_tb.DeptId ORDER BY Did ASC";
            Command = new SqlCommand(Query, Connection);
            Connection.Open();
            Reader = Command.ExecuteReader();
            List <ChartVM> aChart = new List <ChartVM>();

            while (Reader.Read())
            {
                ChartVM aChartVm = new ChartVM()
                {
                    DeptCode     = Convert.ToString(Reader["Code"]),
                    TotalStudent = Convert.ToInt32(Reader["Student"])
                };
                aChart.Add(aChartVm);
            }

            return(aChart);
        }
Ejemplo n.º 28
0
        public ActionResult TicketProj_Data()
        {
            var chartVM = new ChartVM();

            var projects = new List <string>
            {
                "Baratheon",
                "Tyrell",
                "Stark",
                "Lannister",
                "Targaryen",
                "Dorne"
            };

            foreach (var entry in projects)
            {
                chartVM.Data.Add(new ChartData
                {
                    Label = entry,
                    Value = db.Tickets.Where(t => t.Project.Name == entry).Count().ToString()
                });
            }
            return(Content(JsonConvert.SerializeObject(chartVM), "application/json"));
        }
Ejemplo n.º 29
0
        public async Task <ActionResult <ChartVM> > UpdateChart(int id, ChartVM chartVM)
        {
            try
            {
                if (id != chartVM.Chart.Id)
                {
                    return(BadRequest("Chart ID mismatch"));
                }

                // Add custom model validation error
                Chart chart = await chartRepository.GetChartByname(chartVM.Chart);

                if (chart != null)
                {
                    ModelState.AddModelError("Name", $"Chart name: {chartVM.Chart.Name} already in use");
                    return(BadRequest(ModelState));
                }

                var chartToUpdate = await chartRepository.GetChart(id);

                if (chartToUpdate == null)
                {
                    return(NotFound($"Chart with Id = {id} not found"));
                }

                await chartRepository.UpdateChart(chartVM);

                return(CreatedAtAction(nameof(GetChart), new { id = chartVM.Chart.Id }, chartVM));
            }

            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
Ejemplo n.º 30
0
        public ActionResult Admin()
        {
            ChartVM barChartVM = new ChartVM();
            ICollection <Department> departments = _departmentService.GetAll().ToList();

            foreach (var department in departments)
            {
                int count = department.Courses.Sum(x => x.Sections.Sum(y => y.Students.Distinct().Count()));
                if (count != 0)
                {
                    barChartVM.Labels.Add(department.Name);
                    barChartVM.Data.Add(count);
                }
            }

            ChartVM pieChartVM = new ChartVM();

            pieChartVM.Labels.Add(UserType.Admin.ToString());
            pieChartVM.Labels.Add(UserType.Student.ToString());
            ICollection <User> users = _service.GetAll().ToList();

            pieChartVM.Data.Add(users.Count(x => x.Type == UserType.Admin));
            pieChartVM.Data.Add(users.Count(x => x.Type == UserType.Student));

            AdminDashboardVM model = new AdminDashboardVM()
            {
                DepartmentCount   = _departmentService.GetAll().Count(),
                CourseCount       = _courseService.GetAll().Count(),
                StudentCount      = _studentService.GetAll().Count(),
                RegistrationCount = _registrationService.GetAll().Select(x => x.StudentId).Distinct().Count(),
                BarChartVM        = barChartVM,
                PieChartVM        = pieChartVM
            };

            return(View(model));
        }