public void ThenIShouldPassValidationWithAValidRequest()
        {
            //Arrange
            var request = new SaveTaskCommand {
                EmployerAccountId = "1234", Type = TaskType.AddApprentices
            };

            //Act
            var result = _validator.Validate(request);

            //Assert
            Assert.IsTrue(result.IsValid());
        }
        public void ThenIShouldFailValidationIfTaskTypeIsNotPresent()
        {
            //Arrange
            var request = new SaveTaskCommand {
                EmployerAccountId = "1234", TaskCompleted = true
            };

            //Act
            var result = _validator.Validate(request);

            //Assert
            Assert.IsFalse(result.IsValid());
            Assert.AreEqual("Cannot save task when task type is not given.", result.ValidationDictionary[nameof(request.Type)]);
        }
        public void ThenIShouldFailValidationIfEmployerAccountIdIsNotPresent()
        {
            //Arrange

            var request = new SaveTaskCommand {
                Type = TaskType.AddApprentices, TaskCompleted = true
            };

            //Act
            var result = _validator.Validate(request);

            //Assert
            Assert.IsFalse(result.IsValid());
            Assert.AreEqual("Cannot save task when employer account ID is not given.", result.ValidationDictionary[nameof(request.EmployerAccountId)]);
        }
 private void _model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName == nameof(Model.Start) || e.PropertyName == nameof(Model.End))
     {
         if (Model.Start > Model.End)
         {
             Application.Current.MainPage.DisplayAlert(
                 "Error",
                 "End  date must be equal to or greater than Start date",
                 "cancel");
         }
     }
     SaveTaskCommand.RaiseCanExecuteChanged();
     DeleteTaskCommand.RaiseCanExecuteChanged();
 }
        public DeveloperWindowViewModel()
        {
            MarketList = new ObservableCollection <Market>(MarketManager.GetAllMarkets(RunTimeContext.Context.DatabaseContext));
            SetTaskList();

            IsReadOnly = true;

            SelectedTask = TaskList.FirstOrDefault();

            ChangeTaskCommand     = new ChangeTaskCommand(this);
            SaveTaskCommand       = new SaveTaskCommand(this);
            CancelSaveTaskCommand = new CancelTaskCommand(this);

            CreateTaskCommand = new CreateTaskCommand(this);
            LaunchTaskCommand = new LaunchTaskCommand(this);

            CloseCommand    = new CloseWindowCommand();
            MaximizeCommand = new MaximizeWindowCommand();
            MinimizeCommand = new MinimizeWindowCommand();
        }