예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }