示例#1
0
        public static DateTime GetDefaultStartFrom(this IDateFilter dateFilter)
        {
            DateTime now           = DateTime.UtcNow;
            int      previousMonth = now.Month - 1;

            previousMonth = previousMonth < 0 ? 11 : previousMonth;
            return((new DateTime(now.Year, now.Month, 1)).Subtract(TimeSpan.FromDays(DateTime.DaysInMonth(now.Year, previousMonth))));
        }
示例#2
0
        protected static IDictionary <string, float> GetAmountTimeData(IReadOnlyCollection <IDateAmount> dateAmounts, IDateFilter incomingPaymentFilter)
        {
            int      monthDifference = GetMonthCount(incomingPaymentFilter.ToDate) - GetMonthCount(incomingPaymentFilter.FromDate);
            DateTime firstDayOfMonth = GetFirstDayOfMonth(incomingPaymentFilter.ToDate);

            return(Enumerable.Range(0, Math.Min(monthDifference, MaxMonthCount))
                   .Select(monthCount => firstDayOfMonth.AddMonths(-monthCount))
                   .ToDictionary(
                       firstDayOfEachMonth => firstDayOfEachMonth.ToString("MMMM"),
                       firstDayOfEachMonth => dateAmounts
                       .Where(dateAmount => IsAmountInMonth(dateAmount, firstDayOfEachMonth)).Sum(dateAmount => dateAmount.Amount)));
        }
示例#3
0
 public static IEnumerable <JiraWorkLogDto> FilterByDate(this IEnumerable <JiraWorkLogDto> source,
                                                         IDateFilter searchParams)
 => source.WhereIf(searchParams.StartFrom.HasValue, x => x.FilterAfterDate(searchParams.StartFrom.Value));