Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
public void SaveModels(IEnumerable<Activity> models)
{
if (models == null && models.Count() == 0) return;
// step 1/3: remove empty models
var empty = models.Where(m => !m.ForecastedValue.HasValue && !m.ActualValue.HasValue).ToList();
if (empty != null)
{
models = models.Except(empty);
}
.....
}
Зачем такая конструкция, если можно просто
models = models.Where(m => m.ForecastedValue.HasValue && m.ActualValue.HasValue).ToList()
К тому же проверка на null бесполезна - ни Where, ни ToList не могут вернуть null. Даже если в коллекции ничего не останется.
public static List<Activity> ToList(this MyEnumerable<Activity> models)
{
if(models == null) return null;
}
..убиться об стену?
if (models == null && models.Count() == 0) return;
вот тут уж точно вопрос - зачем такая конструкция?
упасть с эксепшеном