示例#1
0
        public void Update(StatisticDTO statisticDto)
        {
            var statistic = _mapper.Map <Statistic>(statisticDto);

            _unitOfWork.Statistics.Update(statistic);
            _unitOfWork.Save();
        }
示例#2
0
        public void Insert(StatisticDTO statisticDto)
        {
            var statistic = _mapper.Map <Statistic>(statisticDto);

            _unitOfWork.Statistics.Insert(statistic);
            _unitOfWork.Save();
        }
示例#3
0
        public void Update(StatisticDTO item)
        {
            if (item != null)
            {
                var mapper = MapperHelper <StatisticDTO, Statistic> .GetMapper();

                db.Statistics.Update(mapper.Map <StatisticDTO, Statistic>(item));
                db.Save();
            }
        }
示例#4
0
        public void Add(StatisticDTO item)
        {
            if (item != null)
            {
                var mapper = MapperHelper <StatisticDTO, Statistic> .GetMapper();

                Statistic statistic = mapper.Map <StatisticDTO, Statistic>(item);
                db.Statistics.Add(statistic);
                db.Save();
            }
        }
示例#5
0
        public async Task AddAsync(StatisticDTO item)
        {
            if (item != null)
            {
                var mapper = MapperHelper <StatisticDTO, Statistic> .GetMapper();

                Statistic statistic = mapper.Map <StatisticDTO, Statistic>(item);
                await db.Statistics.AddAsync(statistic);

                await db.SaveAsync();
            }
        }
示例#6
0
 public static StatisticViewModel DTOtoVM(StatisticDTO statisticDTO)
 {
     return(new StatisticViewModel
     {
         AffiliateId = statisticDTO.AffiliateId,
         PatientCount = statisticDTO.PatientCount,
         TreatmentCount = statisticDTO.TreatmentCount,
         MonthlyEarnings = statisticDTO.MonthlyEarnings.ToString("c", new CultureInfo("fr-FR")),
         OverallEarnings = statisticDTO.OverallEarnings.ToString("c", new CultureInfo("fr-FR")),
         MonthlyTreatmentHistory = TreatmentHistoryMapper.DTOtoMonthlyTreatmentHistoryVM(statisticDTO.MonthlyTreatmentHistory),
         PopularTreatment = TreatmentMapper.DTOtoPopularTreatmentVM(statisticDTO.PopularTreatment)
     });
 }
        public static StatisticDTO GetStatistic(int id)
        {
            using (var dbContext = new FiszkiContext())
            {
                var userProgress = dbContext.ProgressTable.Where(item => item.UserId == id);

                var GETallWords    = dbContext.WordsTable.Count();
                var GETwiem        = userProgress.Where(item => item.WordStatus == "W" && item.UserId == id).Count();
                var GETmniej       = userProgress.Where(item => item.WordStatus == "M" && item.UserId == id).Count();
                var GETnie         = userProgress.Where(item => item.WordStatus == "N" && item.UserId == id).Count();
                var GETallProgress = userProgress.Where(item => item.UserId == id).Count();
                var GETtoday       = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.ToString("yyyy-MM-dd"))).Count();
                var GETp_1         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))).Count();
                var GETp_2         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd"))).Count();
                var GETp_3         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd"))).Count();
                var GETp_4         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-4).ToString("yyyy-MM-dd"))).Count();
                var GETp_5         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-5).ToString("yyyy-MM-dd"))).Count();
                var GETp_6         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd"))).Count();
                var GETp_7         = userProgress.Where(item => item.DateEdit.Contains(DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"))).Count();

                StatisticDTO result = new StatisticDTO
                {
                    allWords    = GETallWords,
                    wiem        = GETwiem,
                    mniej       = GETmniej,
                    nie         = GETnie,
                    allProgress = GETallProgress,
                    today       = GETtoday,
                    p_1         = GETp_1,
                    p_2         = GETp_2,
                    p_3         = GETp_3,
                    p_4         = GETp_4,
                    p_5         = GETp_5,
                    p_6         = GETp_6,
                    p_7         = GETp_7
                };

                return(result);
            }
        }
示例#8
0
        public async Task <IActionResult> Create(StatisticModel model)
        {
            if (model != null && model.CorrectAnswersCount >= 0 && model.User_Id != string.Empty)
            {
                var user = await _userManager.FindByIdAsync(model.User_Id);

                if (user == null)
                {
                    return(BadRequest("User not found!"));
                }

                var test = await testService.GetByIdAsync(model.Test_Id);

                if (test == null)
                {
                    return(BadRequest("Test not found!"));
                }

                double userRating = await statsService.CalculateUserRating(model.CorrectAnswersCount,
                                                                           test.Id);

                bool isPassed = statsService.CheckTestIsPassed(userRating, test.MinRatingForPass);

                StatisticDTO statistic = new StatisticDTO()
                {
                    IsPassed   = isPassed,
                    UserId     = user.Id,
                    TestId     = test.Id,
                    UserRating = userRating
                };

                await statsService.AddAsync(statistic);

                return(Ok("Success!"));
            }

            return(BadRequest("Invalid data!"));
        }
示例#9
0
 public void Put(int id, [FromBody] StatisticDTO statistics)
 {
     statistics.Id = id;
     _statisticsService.Update(statistics);
 }
示例#10
0
 public void Post([FromBody] StatisticDTO statistics)
 {
     _statisticsService.Insert(statistics);
 }