public void InitPeriodValues() { for (short i = 0; i < 14; i++) { TrwBudgetPeriodValue period_value = PeriodValues.FirstOrDefault(x => x.Month == i); if (period_value == null) { period_value = new TrwBudgetPeriodValue(this.Session); period_value.Month = i; PeriodValues.Add(period_value); } } }
public void Initialization() { WatchDates.Clear(); PeriodValues.Clear(); WatchesList.Clear(); Watches = db.Watches .Include(w => w.Exam) .Include(w => w.WatcherWatches).ThenInclude(ww => ww.Room) .Include(w => w.WatcherWatches).ThenInclude(ww => ww.Watcher) .Where( w => w.ExamId == CurrentExamId ) .OrderByDescending(w => w.WatchDate).ToList(); SelectedWatch = Watches.FirstOrDefault(); foreach (DateTime?d in Watches.Select(x => x.WatchDate).Distinct().ToList()) { WatchDates.Add(d); } foreach (short?p in Watches.Select(x => x.PeriodId).Distinct().ToList()) { PeriodValues.Add(p); } //WatcherWatchesList = new List<WatcherWatch>(); WatchTableViewModel row; foreach (DateTime date in WatchDates) { foreach (short p in PeriodValues) { foreach (Watch w in Watches) { if (w.PeriodId.Equals(p) && w.WatchDate.Equals(date)) { var RoomsWatches = w.WatcherWatches.GroupBy(ww => ww.RoomId) .Select(grp => grp.ToList()); foreach (var r in RoomsWatches) { row = new WatchTableViewModel() { Room = db.Rooms.Find(r.FirstOrDefault().RoomId), Watch = w }; foreach (var ww in r) { row.WatcherWatchesList.Add(ww); if (ww.WatcherType.Equals("1")) { row.RoomChiefsList.Add(ww.Watcher.FullName); } else if (ww.WatcherType.Equals("2")) { row.RoomSecretariesList.Add(ww.Watcher.FullName); } else if (ww.WatcherType.Equals("3")) { row.RoomWatchersList.Add(ww.Watcher.FullName); } } row.RoomChiefs = string.Join(", ", row.RoomChiefsList.ToArray()); row.RoomSecretaries = string.Join(", ", row.RoomSecretariesList.ToArray()); row.RoomWatchers = string.Join(", ", row.RoomWatchersList.ToArray()); WatchesList.Add(row); } } } } } }