public MonthInterventionsViewModel(YearInterventionsViewModel parent, List <LocalIntervention> localInterventions, int monthNumber) { Parent = parent; SelectedRows = new ObservableCollection <InterventionDetails>(); PopulateInterventions(localInterventions); MonthName = LocalCache.Instance.MonthsNames[monthNumber - 1]; MonthId = monthNumber; DeleteRowCommand = new DelegateCommand <InterventionDetails>(OnDelete); eventAggregator = ServiceLocator.Current.GetInstance <IEventAggregator>(); }
public void AddYear(InterventionDetails interventionDetails) { int year = interventionDetails.Date.Year; var yearToAddTo = YearList.List.FirstOrDefault(item => item.Year == year); if (yearToAddTo != null) { yearToAddTo.AddInterventionToMonth(interventionDetails); } else { yearToAddTo = new YearInterventionsViewModel(new Dictionary <int, List <LocalIntervention> >(), year, this); YearList.Add(yearToAddTo); yearToAddTo.AddInterventionToMonth(interventionDetails); LocalCache.Instance.SettingsItems[LocalCache.SettingsItemEnum.An].Add(new SettingsItem() { Id = year, Name = year.ToString() }); } }
public void PopulateYears(Dictionary <int, Dictionary <int, List <LocalIntervention> > > yearMonthInterventions) { YearList = new ObjectList <YearInterventionsViewModel>(true); LocalCache.Instance.SettingsItems.Add(LocalCache.SettingsItemEnum.An, new List <SettingsItem>()); int totalInterventions = 0; double totalRevenue = 0; double totalProfit = 0; TimeSpan totalDuration = new TimeSpan(); var listOfYears = new List <YearInterventionsViewModel>(); foreach (var yearKey in yearMonthInterventions.Keys) { var newYear = new YearInterventionsViewModel(yearMonthInterventions[yearKey], yearKey, this); // YearList.Add(newYear); listOfYears.Add(newYear); totalInterventions += newYear.NumarInterventii; totalRevenue += newYear.TotalIncasari; totalDuration += newYear.TotalHours; totalProfit += newYear.TotalProfit; LocalCache.Instance.SettingsItems[LocalCache.SettingsItemEnum.An].Add(new SettingsItem() { Id = yearKey, Name = yearKey.ToString() }); } eventAggregator.GetEvent <TotalsModifiedEvent>().Publish(new TotalsIfo { TotalHours = totalDuration, TotalInverventions = totalInterventions, TotalRevenue = totalRevenue, TotalProfit = totalProfit, }); listOfYears = listOfYears.OrderBy(item => item.Year).ToList(); foreach (var yearInterventionsViewModel in listOfYears) { YearList.Add(yearInterventionsViewModel); } }