private void UpdateListWorks() { YearWorks.Clear(); for (var i = 1; i <= 12; i++) { var month = new WorksInMonthViewModel(new DateTime(SelectedYear, i, 1)); foreach (var work in WorkTypes.Where(o => o.DateWork.Year == SelectedYear && o.DateWork.Month == i)) { month.WorkTypes.Add(work); } month.UpdateDayInMonth(); YearWorks.Add(month); } }
public WorkContext(Work Work) { this.Work = Work; TeamContexts = new ObservableCollection <TeamContext>(); MaterailContexts = new ObservableCollection <MaterialContext>(); PriborContexts = new ObservableCollection <PriborContext>(); WorkSections = new ObservableCollection <WorkSection>(); using (var db = new DbContexts.SmetaDbAppContext()) { db.WorkTeams.Where(x => x.WorkDemId == Work.Id).ToList().ForEach(x => { TeamContexts.Add(new TeamContext(x)); }); List <Material> materials = db.Materials; // WOrk types WorkTypes = db.WorkTypes; selectedWorkType = WorkTypes.Where(x => x.Id == (db.WorkSections.Where(y => y.Id == Work.WorkSectionId)).FirstOrDefault().WorkTypeId).FirstOrDefault(); //Work sections db.WorkSections.Where(x => x.WorkTypeId == selectedWorkType.Id).ToList().ForEach(x => { WorkSections.Add(x); }); selectedSection = WorkSections.Where(x => x.Id == Work.WorkSectionId).FirstOrDefault(); // Fill Materials db.MaterialGroups.Where(x => x.WorkId == Work.Id).ToList().ForEach(x => { var item = new MaterialContext(x); item.Material = materials.Where(y => y.Id == x.MaterialId).FirstOrDefault(); MaterailContexts.Add(item); }); List <Pribor> pribors = db.Pribors; //Fill Pribors db.PriborGroups.Where(x => x.WorkId == Work.Id).ToList().ForEach(x => { var item = new PriborContext(x); item.Pribor = pribors.Where(y => y.Id == x.PriborId).FirstOrDefault(); PriborContexts.Add(item); }); } }
public void UpdateDayInMonth() { var dayweek = ((int)Date.DayOfWeek == 0) ? 7 : (int)Date.DayOfWeek; for (var i = 1 - dayweek; i < DateTime.DaysInMonth(Date.Year, Date.Month); i++) { var day = new WorksInMonthViewModel(new DateTime(Date.AddDays(i).Year, Date.AddDays(i).Month, Date.AddDays(i).Day), i < 0); if (i > 0) { foreach (var work in WorkTypes.Where(o => o.DateWork.Year == Date.AddDays(i).Year&& o.DateWork.Month == Date.AddDays(i).Month&& o.DateWork.Day == i + 1)) { day.WorkTypes.Add(work); } } WorksInDay.Add(day); } }
public void SetSelectedWorkType() { SelectedWorkType = WorkTypes.Where(x => x.Id == WorkSection.WorkTypeId).FirstOrDefault(); }