Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
        public TrwBudgetPeriodValue ValueGet(DateTime date)
        {
            Int16 period_month = -1;

            if (date.Year == Year)
            {
                period_month = (Int16)date.Month;
            }
            else
            {
                if (date.Year < Year)
                {
                    period_month = 0;
                }
                else
                {
                    period_month = 13;
                }
            }
            return(PeriodValues.FirstOrDefault(x => x.Month == period_month));
        }
        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);
                            }
                        }
                    }
                }
            }
        }