/// <summary> /// Converts a WeekStartEnum value to a corresponding string value /// </summary> /// <param name="enumValue">The WeekStartEnum value to convert</param> /// <returns>The representative string value</returns> public static string ToValue(WeekStartEnum enumValue) { switch (enumValue) { //only valid enum elements can be used //this is necessary to avoid errors case WeekStartEnum.MONDAY: case WeekStartEnum.TUESDAY: case WeekStartEnum.WEDNESDAY: case WeekStartEnum.THURSDAY: case WeekStartEnum.FRIDAY: case WeekStartEnum.SATURDAY: case WeekStartEnum.SUNDAY: return(StringValues[(int)enumValue]); //an invalid enum value was requested default: return(null); } }
public static IEnumerable <WorkTimeCalendarItem> SortWeekByFirstDay(this IEnumerable <WorkTimeCalendarItem> items, WeekStartEnum firstDayOfWeek) { if (firstDayOfWeek == WeekStartEnum.Monday) { var monday = items.Single(i => i.WeekDay == DayOfWeek.Monday); var sunday = items.Single(i => i.WeekDay == DayOfWeek.Sunday); items = items.Except(new[] { monday, sunday }).OrderBy(i => i.WeekDay); items = items.Prepend(monday); items = items.Append(sunday); } else { items = items.OrderBy(i => i.WeekDay); } return(items); }