private List <DateTime> ResultByMonths(DateTime startOfYear) { List <DateTime> result = null; if (!IsEmpty(ByMonths)) { result = new List <DateTime>(); foreach (var month in ByMonths.Distinct().OrderBy(_ => _)) { if (month >= Month.January && month <= Month.December) { for (var dt = startOfYear.AddMonths((int)month - 1); dt.Month == (int)month; dt = dt.AddDays(1)) { result.Add(dt); } } } //result.Sort(); //result = FilterBySetPosition(result, BySetPositions).ToList(); } return(result); }