public UserStatisticDto GetStatisticFiltered(DateTime startDate, List <TicketDto> tickets) { if (!tickets.Any()) { return(null); } var statisticDaysNumber = GetStatisticDaysNumber(startDate); startDate = GetStartDate(startDate, statisticDaysNumber); var result = new UserStatisticDto { Tickets = tickets, DateCountOfTicketsDictionary = CountTicketsPerEachDay(tickets, startDate, statisticDaysNumber), StatusCountDictionary = GetStatusCountDictionary(tickets), PriorityCountDictionary = GetPriorityCountDictionary(tickets) }; return(result); }
public UserStatisticDto GetStatisticFiltered(IRepositoryFactory factory, DateTime date) { var subscribes = factory.UserPublicationRepository.Get() .Where(o => o.PaymentState == true && o.StartDate <= date && date <= o.EndDate).ToList(); var subscribesDto = Mapper.Map <List <UserPublicationDto> >(subscribes); if (!subscribes.Any()) { return(null); } var result = new UserStatisticDto { Subscribes = subscribesDto, ColorCountDictionary = GetColorCountDictionary(factory, subscribes), PriceCountDictionary = GetPriceCountDictionary(factory, subscribes), Sum = subscribesDto.Sum(x => x.Publication.PricePerMonth) }; return(result); }
private void SetUpDate(int year, int month, ref int day, out DateTime date, out UserStatisticDto statistic) { switch (month) { case 1: day = 31; break; case 2: { if (year == 2016 || year == 2012) { day = 28; } else { day = 28; } break; } case 3: day = 31; break; case 4: day = 30; break; case 5: day = 31; break; case 6: day = 30; break; case 7: day = 31; break; case 8: day = 31; break; case 9: day = 30; break; case 10: day = 31; break; case 11: day = 30; break; case 12: day = 31; break; default: Console.WriteLine("Default case"); break; } date = new DateTime(year, month, day, 0, 0, 0); statistic = _statisticService.GetStatisticFiltered(_factory, date); }