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)))); }
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))); }
public static IEnumerable <JiraWorkLogDto> FilterByDate(this IEnumerable <JiraWorkLogDto> source, IDateFilter searchParams) => source.WhereIf(searchParams.StartFrom.HasValue, x => x.FilterAfterDate(searchParams.StartFrom.Value));