public static string BuildSlotRange(Field field) { if (field.Slots.Count == 0) return string.Empty; if (field.Slots.All(s => s.StartDateTime.Date == s.EndDateTime.Date)) return field.Slots[0].StartDateTime.ToString("M/d/yy"); var sortedSlots = field.Slots.OrderBy(s => s.StartDateTime); return string.Format("{0} - {1}", sortedSlots.First().StartDateTime.ToString("M/d/yy"), sortedSlots.Last().StartDateTime.ToString("M/d/yy")); }
public static List<FieldConflictViewModel> LoadList(DbSet<Field> fields, Field fieldInQuestion = null) { var list = new List<FieldConflictViewModel>(); foreach (Field field in fields.OrderBy(f => f.Description)) { if (fieldInQuestion == null || fieldInQuestion != field) { list.Add(new FieldConflictViewModel { Id = field.Id, Description = field.Description }); } } return list; }
public static FieldViewModel Load(Field field) { FieldViewModel vm = Mapper.Map<Field, FieldViewModel>(field); vm.CanBeDeleted = field.CanBeDeleted(); vm.SlotRange = BuildSlotRange(field); return vm; }