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 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); }
public async Task <ActionResult <MonthStatisticsViewModel> > CurrentMont() { MonthStatistics monthStatistics = await _statisticsRepository.GetMonthStatistics(DateTime.Now); return(_mapper.Map <MonthStatisticsViewModel>(monthStatistics)); }
//MONTHCHECK public void CheckTime() { string json = File.ReadAllText("lastsavedate.json"); if (json.Length == 0) { System.IO.File.WriteAllText("lastsavedate.json", currenttime.ToString("dd MMMM yyyy hh:mm:ss tt")); json = File.ReadAllText("lastsavedate.json"); } try { lastsavetime = DateTime.Parse(json, CultureInfo.InvariantCulture); } catch (Exception) { MessageBox.Show("There is a problem in converting lastsavetime", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } currenttime = DateTime.Now; if (currenttime.Month > lastsavetime.Month) { var monthsmoneyjson = File.ReadAllText("monthmoney.json"); var monthsstatistics = File.ReadAllText("statistics.json"); List <MonthStatistics> months = JsonConvert.DeserializeObject <List <MonthStatistics> >(monthsstatistics) ?? new List <MonthStatistics>(); MonthStatistics statistics = new MonthStatistics(); DateTime createDate = new DateTime(lastsavetime.Year, lastsavetime.Month, DateTime.DaysInMonth(lastsavetime.Year, lastsavetime.Month)); statistics.Date = createDate.ToString("dd MMMM yyyy hh:mm:ss tt"); double monthmoneydouble = 0; try { monthmoneydouble = Double.Parse(monthsmoneyjson, System.Globalization.CultureInfo.InvariantCulture); } catch (Exception) { MessageBox.Show("There is a problem in converting month money", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } int monthmoneyint = 0; try { monthmoneyint = Convert.ToInt32(monthmoneydouble); } catch (Exception) { MessageBox.Show("There is a problem in converting double type to int type", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } statistics.money = monthmoneyint; months.Add(statistics); var jsonData = JsonConvert.SerializeObject(months); System.IO.File.WriteAllText("statistics.json", jsonData); lastsavetime = DateTime.Now; System.IO.File.WriteAllText("lastsavedate.json", lastsavetime.ToString("dd MMMM yyyy hh:mm:ss tt")); } else { lastsavetime = DateTime.Now; System.IO.File.WriteAllText("lastsavedate.json", lastsavetime.ToString("dd MMMM yyyy hh:mm:ss tt")); } }