public void UpdateStats(List <RateScheduleModel> list) { for (int i = 0; i < DayOfWeek.Count(); i++) { DayOfWeek[i] = 0; } foreach (var rs in list) { DayOfWeek[rs.DayOfWeek] = 1; } RateScheduleCount = list.Count; }
/// <summary> /// Remove business days on a DateTime /// </summary> /// <param name="date">Date to remove days</param> /// <param name="days">Days to remove</param> /// <param name="businessDays">Business days</param> /// <returns>date</returns> public static DateTime RemoveBusinessDays(this DateTime date, int days, DayOfWeek[] businessDays) { days = Math.Abs(days); if (businessDays == null || businessDays.Count() == 0) businessDays = BaseDateTimeExtensions.GetDefaultBusinessDays(); var finalCount = 0; while (true) { if (businessDays.Contains(date.DayOfWeek)) finalCount++; date = date.AddDays(-1); if (days == finalCount) break; } return date; }
/// <summary> /// Set default business days list /// </summary> public static void SetDefaultBusinessDays(DayOfWeek[] businessDays) { if (businessDays != null && businessDays.Count() > 0) Instance.BusinessDays = businessDays; }
/// <summary> /// Get end of business month /// </summary> /// <param name="date">base date</param> /// <param name="businessDays">business days list</param> /// <returns>End of business month from date</returns> public static DateTime EndOfBusinessMonth(this DateTime date, DayOfWeek[] businessDays) { date = date.EndOfMonth(); if (businessDays == null || businessDays.Count() == 0) businessDays = BaseDateTimeExtensions.GetDefaultBusinessDays(); while (true) { if (businessDays.Contains(date.DayOfWeek)) return date; date = date.AddDays(-1); } }