public void MapStatisticToViewModelOnSuccessReturnsProperties() { //arrange var mean = 1D; var stdev = 2D; var skew = 3D; var kurt = 4D; var statistic = new Mock <IStatistic>(); statistic.Setup(s => s.Mean).Returns(mean); statistic.Setup(s => s.Stdev).Returns(stdev); statistic.Setup(s => s.Skew).Returns(skew); statistic.Setup(s => s.Kurt).Returns(kurt); var mapper = new StatisticMapper(); //act var result = mapper.MapStatisticToViewModel(statistic.Object); //assert Assert.AreEqual(mean, result.Mean); Assert.AreEqual(stdev, result.Stdev); Assert.AreEqual(skew, result.Skew); Assert.AreEqual(kurt, result.Kurt); }
public StatisticDTO GetStatisticData( int affiliateId, DateTime firstDay, DateTime firstDayLastMonth, DateTime lastDay, DateTime lastDayLastMonth ) { var patientCount = _context.Patients .Count(); int treatmentCount = 0; List <TreatmentHistory> lastMonthTreatmentHistories, thisMonthTreatmentHistories, overallTreatmentHistories; if (affiliateId == 0) { treatmentCount = _context.TreatmentHistories .Count(); lastMonthTreatmentHistories = _context.TreatmentHistories.Where(th => th.DateOfTreatment >= firstDayLastMonth && th.DateOfTreatment <= lastDayLastMonth) .ToList(); thisMonthTreatmentHistories = _context.TreatmentHistories.Where(th => th.DateOfTreatment >= firstDay && th.DateOfTreatment <= lastDay) .ToList(); overallTreatmentHistories = _context.TreatmentHistories .Include(th => th.Treatment) .ToList(); } else { treatmentCount = _context.TreatmentHistories .Where(th => th.AffiliateId.Equals(affiliateId)) .Count(); lastMonthTreatmentHistories = _context.TreatmentHistories.Where(th => th.DateOfTreatment >= firstDayLastMonth && th.DateOfTreatment <= lastDayLastMonth) .Where(th => th.AffiliateId.Equals(affiliateId)) .ToList(); thisMonthTreatmentHistories = _context.TreatmentHistories.Where(th => th.DateOfTreatment >= firstDay && th.DateOfTreatment <= lastDay) .Where(th => th.AffiliateId.Equals(affiliateId)) .ToList(); overallTreatmentHistories = _context.TreatmentHistories .Where(th => th.AffiliateId.Equals(affiliateId)) .Include(th => th.Treatment) .ToList(); } var monthlyEarnings = lastMonthTreatmentHistories .Sum(th => th.Price); var overallEarnings = overallTreatmentHistories .Sum(th => th.Price); MonthlyTreatmentHistoryDTO monthlyTreatmentHistory = new MonthlyTreatmentHistoryDTO() { TreatmentHistories = new List <TreatmentHistoryChartDTO>() }; foreach (var treatmentHistory in thisMonthTreatmentHistories) { var treatmentHistoryChart = monthlyTreatmentHistory.TreatmentHistories .FirstOrDefault(th => th.DateOfTreatment.ToString("dd-MM-yyyy").Equals(treatmentHistory.DateOfTreatment.ToString("dd-MM-yyyy"))); if (treatmentHistoryChart is null) { monthlyTreatmentHistory.TreatmentHistories.Add(new TreatmentHistoryChartDTO() { Count = 1, DateOfTreatment = treatmentHistory.DateOfTreatment }); } else { treatmentHistoryChart.Count++; } } monthlyTreatmentHistory.MaxCount = monthlyTreatmentHistory.TreatmentHistories.Count > 0 ? monthlyTreatmentHistory.TreatmentHistories.Max(th => th.Count) : 0; PopularTreatmentDTO popularTreatment = new PopularTreatmentDTO() { Treatments = new List <TreatmentChartDTO>() }; foreach (var treatmentHistory in overallTreatmentHistories) { var treatmentChart = popularTreatment.Treatments .FirstOrDefault(th => th.Name.Equals(treatmentHistory.Treatment.Name)); if (treatmentChart is null) { popularTreatment.Treatments.Add(new TreatmentChartDTO() { Count = 1, Name = treatmentHistory.Treatment.Name }); } else { treatmentChart.Count++; } } return(StatisticMapper.ToDTO( affiliateId, patientCount, treatmentCount, monthlyEarnings, overallEarnings, monthlyTreatmentHistory, popularTreatment )); }
public ActionResult <StatisticViewModel> GetSpecifiicStatistic(int affiliateId) { var statisticDTO = _service.Get(affiliateId); return(StatisticMapper.DTOtoVM(statisticDTO)); }
public ActionResult <StatisticViewModel> GetStatistic() { var statisticDTO = _service.Get(); return(StatisticMapper.DTOtoVM(statisticDTO)); }