Пример #1
0
        public async Task <string> AddDay(DayStatistics dayStats)
        {
            try
            {
                DayStatistics auxDay = new DayStatistics();

                auxDay.Idrestaurant     = dayStats.Idrestaurant;
                auxDay.AverageMonday    = dayStats.AverageMonday;
                auxDay.AverageTuesday   = dayStats.AverageTuesday;
                auxDay.AverageWednesday = dayStats.AverageWednesday;
                auxDay.AverageThursday  = dayStats.AverageThursday;
                auxDay.AverageFriday    = dayStats.AverageFriday;
                auxDay.AverageSaturday  = dayStats.AverageSaturday;
                auxDay.AverageSunday    = dayStats.AverageSunday;
                auxDay.DateStatistics   = dayStats.DateStatistics;

                _context.DayStatistics.Add(auxDay);
                await _context.SaveChangesAsync();

                return("Restaurante actualizado");
            }
            catch
            {
                return("Error. Hubo un error al actualizar");
            }
        }
Пример #2
0
 public IActionResult GetStatistics(string input1, int group, DateTime day)
 {
     if (day != DateTime.MinValue && group != 0)
     {
         var newdaystat = new DayStatistics
         {
             GroupId    = group,
             Statistics = input1 ?? "0+0",
             Day        = day
         };
         var item = db.DayStatisticsEnumerable.FirstOrDefault(i => i.Day == day);
         if (item != null)
         {
             db.DayStatisticsEnumerable.Remove(item);
         }
         db.DayStatisticsEnumerable.Add(newdaystat);
         foreach (var student in db.Students.Where(i => i.GroupId == group))
         {
             student.DaysGone++;
         }
         db.SaveChanges();
         return(RedirectToAction("AttendancePage", new { id = group }));
     }
     return(RedirectToAction("AttendancePage", new { id = group, problem = "Укажите дату!" }));
 }
Пример #3
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);
        }
Пример #4
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);
        }
Пример #5
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);
        }
Пример #6
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();
 }
Пример #7
0
        public async Task <ActionResult <DayStatisticsViewModel> > CurrentDay()
        {
            DayStatistics dayStatistics = await _statisticsRepository.GetDayStatistics(DateTime.Now);

            return(_mapper.Map <DayStatisticsViewModel>(dayStatistics));
        }