public void Always_Return_True_Previous_Date_Is_Default(SummaryMailIntervalOptions setting) { // ReSharper disable once CollectionNeverUpdated.Local var l = new List <DateTime>(); Assert.True(SummaryMailIntervalService.ShouldReceiveSummaryMail(setting, l.FirstOrDefault())); }
public static bool ShouldReceiveSummaryMail(SummaryMailIntervalOptions setting, DateTime?lastMailDate) { if (setting == SummaryMailIntervalOptions.Disable) { return(false); } if (!lastMailDate.HasValue || lastMailDate == default(DateTime)) { return(true); } if (setting == SummaryMailIntervalOptions.Daily) { return(lastMailDate.Value.Date != DateTime.UtcNow.Date); } if (setting == SummaryMailIntervalOptions.Weekly) { return(lastMailDate.Value.Date != DateTime.UtcNow.Date && DateTime.UtcNow.DayOfWeek == DayOfWeek.Sunday); } if (setting == SummaryMailIntervalOptions.Monthly) { return(lastMailDate.Value.Month != DateTime.UtcNow.Month || lastMailDate.Value.Year != DateTime.UtcNow.Year); } return(false); }
public void Always_Return_True_When_Previous_Date_Is_Null(SummaryMailIntervalOptions setting) { Assert.True(SummaryMailIntervalService.ShouldReceiveSummaryMail(setting, null)); }