示例#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 <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"));
            }
        }