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"); } }
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 = "Укажите дату!" })); }
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); }
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); }
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); }
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(); }
public async Task <ActionResult <DayStatisticsViewModel> > CurrentDay() { DayStatistics dayStatistics = await _statisticsRepository.GetDayStatistics(DateTime.Now); return(_mapper.Map <DayStatisticsViewModel>(dayStatistics)); }