Пример #1
0
 private async Task UpdateStatistics(YearStatistics yearStatistics, MonthStatistics monthStatistics, DayStatistics dayStatistics)
 {
     ApplicationDbContext.YearStatistics.Update(yearStatistics);
     ApplicationDbContext.MonthStatistics.Update(monthStatistics);
     ApplicationDbContext.DayStatistics.Update(dayStatistics);
     await ApplicationDbContext.SaveChangesAsync();
 }
Пример #2
0
        public async Task RegisterProfits(decimal profits)
        {
            DateTime currentDate = DateTime.Now;

            YearStatistics yearStatistics = await FindOrCreateStatistics();

            MonthStatistics monthStatistics = yearStatistics.MonthStatistics.FirstOrDefault(m => m.Date.Month == currentDate.Month);
            DayStatistics   dayStatistics   = monthStatistics.DayStatistics.FirstOrDefault(d => d.Date.Day == currentDate.Day);

            yearStatistics.Profits  += profits;
            monthStatistics.Profits += profits;
            dayStatistics.Profits   += profits;

            await UpdateStatistics(yearStatistics, monthStatistics, dayStatistics);
        }
Пример #3
0
        public async Task RegisterNewClientVisited()
        {
            DateTime currentDate = DateTime.Now;

            YearStatistics yearStatistics = await FindOrCreateStatistics();

            MonthStatistics monthStatistics = yearStatistics.MonthStatistics.FirstOrDefault(m => m.Date.Month == currentDate.Month);
            DayStatistics   dayStatistics   = monthStatistics.DayStatistics.FirstOrDefault(d => d.Date.Day == currentDate.Day);

            ++yearStatistics.ClientsVisited;
            ++monthStatistics.ClientsVisited;
            ++dayStatistics.ClientsVisited;

            await UpdateStatistics(yearStatistics, monthStatistics, dayStatistics);
        }
Пример #4
0
        private async Task <YearStatistics> FindOrCreateStatistics()
        {
            DateTime       currentDate    = DateTime.Now;
            YearStatistics yearStatistics = await GetYearStatistics(currentDate.Year);

            if (yearStatistics is null)
            {
                yearStatistics = new YearStatistics {
                    Year = currentDate.Year, Date = currentDate
                };
                ApplicationDbContext.YearStatistics.Add(yearStatistics);

                await ApplicationDbContext.SaveChangesAsync();
            }

            MonthStatistics monthStatistics = yearStatistics.MonthStatistics.FirstOrDefault(m => m.Date.Month == currentDate.Month);

            if (monthStatistics is null)
            {
                monthStatistics = new MonthStatistics {
                    Date = currentDate
                };
                yearStatistics.MonthStatistics.Add(monthStatistics);
                ApplicationDbContext.YearStatistics.Update(yearStatistics);

                await ApplicationDbContext.SaveChangesAsync();
            }

            DayStatistics dayStatistics = monthStatistics.DayStatistics.FirstOrDefault(d => d.Date.Day == currentDate.Day);

            if (dayStatistics is null)
            {
                dayStatistics = new DayStatistics {
                    Date = currentDate
                };
                monthStatistics.DayStatistics.Add(dayStatistics);
                ApplicationDbContext.MonthStatistics.Update(monthStatistics);

                await ApplicationDbContext.SaveChangesAsync();
            }

            return(yearStatistics);
        }
Пример #5
0
        public async Task <ActionResult <YearStatisticsViewModel> > CurrentYear()
        {
            YearStatistics yearStatistics = await _statisticsRepository.GetYearStatistics(DateTime.Now.Year);

            return(_mapper.Map <YearStatisticsViewModel>(yearStatistics));
        }