コード例 #1
0
 public StartTurnOffPageDialogLogic(IPageDialogPresenter presenter)
 {
     this.presenter             = presenter;
     avm                        = new AuthorizationViewModel();
     avm.AuthorizationEndEvent += (user) =>
     {
         Statics.CurrentUser.Instance.User = user;
         EndEvent?.Invoke(PageDialogResult.Completed);
     };
     avm.RegistrationRequiredEvent += () =>
     {
         if (rvm == null)
         {
             rvm              = new RegistrationViewModel();
             rvm.CancelEvent += () =>
             {
                 presenter.ShowPage(avm);
             };
             rvm.RegistrationCompleteEvent += () =>
             {
                 presenter.ShowPage(avm);
             };
         }
         presenter.ShowPage(rvm);
     };
 }
コード例 #2
0
        public void StartDialog()
        {
            SelectUserViewModel suvm = new SelectUserViewModel();

            suvm.UserResult += (result) =>
            {
                if (result)
                {
                    var user = suvm.SelectedUser;
                    if (currentTask.Performers.FirstOrDefault(p => p.User.ID == user.ID) != null)
                    {
                        MessageBox.Show("Пользователь " + user.FIO + " уже есть в списке исполнителей.");
                        presenter.ShowPage(suvm);
                    }
                    else
                    {
                        ResolutionAndDateViewModel rdvm = new ResolutionAndDateViewModel();
                        rdvm.PerfomerResult += (res) =>
                        {
                            if (res == PageDialogResult.Canceled)
                            {
                                EndEvent?.Invoke(res);
                            }
                            else
                            {
                                currentTask.Performers.Add(new Performer()
                                {
                                    User              = user,
                                    Message           = rdvm.Message,
                                    PeriodOfExecution = rdvm.Period,
                                    WorkTask          = currentTask
                                });
                                if (DB.TaskDataBase.Instance.SafeSaveChanges())
                                {
                                    EndEvent?.Invoke(res);
                                }
                            }
                        };
                        presenter.ShowPage(rdvm);
                    }
                }
                else
                {
                    EndEvent?.Invoke(PageDialogResult.Canceled);
                }
            };
            presenter.ShowPage(suvm);
        }
コード例 #3
0
 private void EndDialogResult(PageDialogResult result)
 {
     if (result == PageDialogResult.Completed)
     {
         ReceiveUpdate?.Invoke();
         UpdatePropertyes();
     }
     presenter.ShowPage(this);
 }
コード例 #4
0
        public void StartDialog()
        {
            EditTaskViewModel etvm = new EditTaskViewModel(currentTask);

            etvm.EditResult += (res) =>
            {
                EndEvent?.Invoke(res);
            };
            presenter.ShowPage(etvm);
        }
コード例 #5
0
        public void StartDialog()
        {
            NewTaskViewModel ntwm = new NewTaskViewModel();

            ntwm.CreateResult += (res) =>
            {
                if (res == PageDialogResult.Canceled)
                {
                    EndEvent?.Invoke(res);
                }
                else
                {
                    newTask = ntwm.NewTask;
                    ResolutionAndDateViewModel rdvm = new ResolutionAndDateViewModel();
                    rdvm.PerfomerResult += (result) =>
                    {
                        if (result == PageDialogResult.Canceled)
                        {
                            EndEvent?.Invoke(result);
                        }
                        else
                        {
                            newTask.Performers = new List <Performer>();
                            newTask.Performers.Add(new Performer()
                            {
                                User              = CurrentUser.Instance.User,
                                Message           = rdvm.Message,
                                PeriodOfExecution = rdvm.Period,
                                WorkTask          = newTask
                            });
                            DB.TaskDataBase.Instance.WorkTasks.Add(newTask);
                            if (DB.TaskDataBase.Instance.SafeSaveChanges())
                            {
                                EndEvent?.Invoke(result);
                            }
                        }
                    };
                    presenter.ShowPage(rdvm);
                }
            };
            presenter.ShowPage(ntwm);
        }
コード例 #6
0
 public void StartDialog()
 {
     presenter.ShowPage(avm);
 }