public ChangeTaskViewModel(Model.PrimaryModels.Task task, MonthControlViewModel monthControlViewModel) { Name = task.Name; EndTime = task.EndTime; Note = task.Notes; if (task.Status == Status.Finished) { CheckStatus = true; } else { CheckStatus = false; } SaveCommand = new RelayCommand(o => { try { var uow = UnitOfWorkSingleton.Instance; _task = uow.Tasks.GetElement(task.Id); _task.Name = Name; _task.EndTime = EndTime; _task.Notes = Note; if (CheckStatus) { _task.Status = Model.PrimaryModels.Status.Finished; } uow.SaveChanges(); monthControlViewModel.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); DelCommand = new RelayCommand(o => { try { var uow = UnitOfWorkSingleton.Instance; uow.Tasks.Delete(task.Id); uow.SaveChanges(); monthControlViewModel.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); }
public AddEventViewModel(User user, MonthControlViewModel MonthVM = null) { RepeatList = new List <RepeatMode>(); RepeatList.Add(RepeatMode.DoNotRepeat); RepeatList.Add(RepeatMode.RepeatDaily); RepeatList.Add(RepeatMode.RepeatMonthly); RepeatList.Add(RepeatMode.RepeatTwiceAWeek); RepeatList.Add(RepeatMode.RepeatWeekly); NotificationList = new List <NotificationMode>(); NotificationList.Add(NotificationMode.DoNotNotify); NotificationList.Add(NotificationMode.NotifyDayBefore); NotificationList.Add(NotificationMode.NotifyHourBefore); NotificationList.Add(NotificationMode.NotifyThreeDaysBefore); NotificationList.Add(NotificationMode.NotifyThreeHoursBefore); AddCommand = new RelayCommand(o => { try { var uow = UnitOfWorkSingleton.Instance; var newevent = new Model.PrimaryModels.Event(Name, ChangeTime((DateTime)Start, (DateTime)StartTime), ChangeTime((DateTime)End, (DateTime)EndTime), Note, Status.InProcess, user, Contact, Repeat, Notification); newevent.ContactId = Contact?.Id; newevent.Contact = null; uow.Events.Create(newevent); uow.SaveChanges(); MonthVM.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message + ex); } }); AddContactCommand = new RelayCommand(o => { try { ContactListWindow taskWin = new ContactListWindow() { DataContext = new ContactListViewModel(user, this, null) }; taskWin.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); }
public AddTaskViewModel(User user, MonthControlViewModel monthControlViewModel = null) { AddCommand = new RelayCommand(o => { try { var uow = UnitOfWorkSingleton.Instance; uow.Tasks.Create(new Model.PrimaryModels.Task(Name, EndTime, Note, Status.Started, user)); uow.SaveChanges(); monthControlViewModel.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); }
public ChangeEventViewModel(Diary.MVVM.Model.PrimaryModels.Event _SelectedEvent, MonthControlViewModel MonthVM, User user) { RepeatList = new List <RepeatMode>(); RepeatList.Add(RepeatMode.DoNotRepeat); RepeatList.Add(RepeatMode.RepeatDaily); RepeatList.Add(RepeatMode.RepeatMonthly); RepeatList.Add(RepeatMode.RepeatTwiceAWeek); RepeatList.Add(RepeatMode.RepeatWeekly); NotificationList = new List <NotificationMode>(); NotificationList.Add(NotificationMode.DoNotNotify); NotificationList.Add(NotificationMode.NotifyDayBefore); NotificationList.Add(NotificationMode.NotifyHourBefore); NotificationList.Add(NotificationMode.NotifyThreeDaysBefore); NotificationList.Add(NotificationMode.NotifyThreeHoursBefore); var uow = UnitOfWorkSingleton.Instance; Note = _SelectedEvent.Notes; Name = _SelectedEvent.Name; Start = _SelectedEvent.StartTime; StartTime = _SelectedEvent.StartTime; End = _SelectedEvent.EndTime; EndTime = _SelectedEvent.EndTime; Status = _SelectedEvent.Status; Repeat = _SelectedEvent.RepeatMode; Notification = _SelectedEvent.NotificationMode; Contact = uow.Contacts.GetElement(_SelectedEvent.ContactId); _event = uow.Events.GetElement(_SelectedEvent.Id); SaveCommand = new RelayCommand(o => { try { _event.Name = Name; _event.Notes = Note; _event.EndTime = ChangeTime((DateTime)End, (DateTime)EndTime); _event.StartTime = ChangeTime((DateTime)Start, (DateTime)StartTime); _event.Status = Status; _event.RepeatMode = Repeat; _event.NotificationMode = Notification; _event.ContactId = Contact?.Id; uow.SaveChanges(); MonthVM.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); DelCommand = new RelayCommand(o => { try { //var uow = UnitOfWorkSingleton.Instance; uow.Events.Delete(_event.Id); uow.SaveChanges(); MonthVM.LoadTasksAndEvents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); AddContactCommand = new RelayCommand(o => { try { ContactListWindow taskWin = new ContactListWindow() { DataContext = new ContactListViewModel(user, null, this) }; taskWin.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); }