Example #1
0
        public ChartElement(DateTime startDate, int nodeValue, ChartGranuality granuality)
        {
            StartDate = startDate;
            NodeValue = nodeValue;
            switch (granuality)
            {
            case ChartGranuality.PerDay:
                DateLabel = startDate.ToString("dd.MM");
                break;

            case ChartGranuality.PerWeek:
            {
                var endDate = startDate.AddDays(6);
                DateLabel = $"{startDate.ToString("dd.MM")}-{endDate.ToString("dd.MM")}";
                break;
            }

            case ChartGranuality.PerMonth:
            {
                DateLabel = $"{startDate.ToString("MM.yyyy")}";
                break;
                ;
            }
            }
        }
Example #2
0
 public ChartRequestDto(DateTime startDate, DateTime endDate, ChartType type, ChartGranuality granuality, int userId)
 {
     DateRange  = new DateRange(startDate, endDate);
     Type       = type;
     Granuality = granuality;
     UserId     = userId;
 }
Example #3
0
        protected List <DateRange> TransformDateRange(ChartGranuality granuality, DateRange requestDateRange)
        {
            switch (granuality)
            {
            case ChartGranuality.PerDay:
                return(requestDateRange.GetDailyGroups());

            case ChartGranuality.PerWeek:
                return(requestDateRange.GetWeekGroups());

            case ChartGranuality.PerMonth:
                return(requestDateRange.GetMonthGroups());

            default:
                throw new ArgumentOutOfRangeException(nameof(granuality), granuality, null);
            }
        }
Example #4
0
 protected IEnumerable <ChartElement> GroupAndSumGateUsagesByDateRange(IEnumerable <DateRange> dateRanges, Dictionary <DateTime, int> dailyAggregatedGateUsages, ChartGranuality granuality)
 {
     return(dateRanges.Select(dateRange => new ChartElement(dateRange.StartDate, dailyAggregatedGateUsages.Where(x => x.Key >= dateRange.StartDate && x.Key <= dateRange.EndDate).Sum(x => x.Value), granuality)).ToList());
 }