Пример #1
0
        public IActionResult CreateProject(ProjectDto project)
        {
            var val = _validator.Validate(project, ruleSet: "Create");

            if (!val.IsValid)
            {
                return(BadRequest(val.Errors));
            }
            var prj = _mapper.Map <Project>(project);

            return(Created("", _projects.CreateProject(prj)));
        }
        public int Execute(string loadProject)
        {
            try
            {
                Project          project   = new Project(loadProject);
                ProjectValidator validator = new ProjectValidator(project);
                project.Load();
                validator.Validate();
                PrintResultsOfType(validator, ValidationResultType.Error, Colors.Red);


                PrintResultsOfType(validator, ValidationResultType.Warning, Color.FromRgb(165, 176, 9));


                PrintResultsOfType(validator, ValidationResultType.Info, Colors.Blue);

                return(0);
            }
            catch (Exception ex)
            {
                AppendText(txtResult, "Error Occurred", Colors.Red);
                StringBuilder strBuild = new StringBuilder();
                strBuild.AppendLine("Exception Details");
                strBuild.AppendLine("Source: " + ex.Source);
                strBuild.AppendLine("Message: " + ex.Message);
                strBuild.AppendLine("StackTrace: " + ex.StackTrace);
                AppendText(txtResult, strBuild.ToString(), Colors.Red);
                return(-1);
            }
        }
Пример #3
0
 private async Task GoBack()
 {
     // display Alert for confirmation
     if (IsChanged)
     {
         ProjectValidator _Validator        = new ProjectValidator();
         ValidationResult validationResults = _Validator.Validate(_project);
         if (validationResults.IsValid)
         {
             _ = Update();
             //just to slow things down
             _project = _projectRepository.GetProjectData(_project.PROJECTID);
             Shell.Current.Navigating -= Current_Navigating;
             //  await Shell.Current.GoToAsync("..", true);
             await _navigation.PopAsync(true);
         }
         else
         {
             await Application.Current.MainPage.DisplayAlert("Update Project", validationResults.Errors[0].ErrorMessage, "Ok");
         }
     }
     else
     {
         Shell.Current.Navigating -= Current_Navigating;
         //   await Shell.Current.GoToAsync("..", true);
         await _navigation.PopAsync(true);
     }
 }
 private async Task GoBack()
 {
     // display Alert for confirmation
     if (IsChanged)
     {
         ProjectValidator _projectValidator = new ProjectValidator();
         ValidationResult validationResults = _projectValidator.Validate(_project);
         if (validationResults.IsValid)
         {
             AddProject();
             Shell.Current.Navigating -= Current_Navigating;
             //        await Shell.Current.GoToAsync("..", true);
             await _navigation.PopAsync(true);
         }
         else
         {
             await Application.Current.MainPage.DisplayAlert("Add Project", validationResults.Errors[0].ErrorMessage, "Ok");
         }
     }
     else
     {
         Shell.Current.Navigating -= Current_Navigating;
         //       await Shell.Current.GoToAsync("..", true);
         await _navigation.PopAsync(true);
     }
 }
Пример #5
0
        public void Validate(Project project, IValidationRecipient validationRecipient)
        {
            var repository = RepositoryFactory.GetRepository <IProjectRepository>();
            var validator  = new ProjectValidator(project, validationRecipient, repository.GetQueryable());

            validator.Validate();
        }
Пример #6
0
        public static Project From(EntityId id, ProjectName name, ProjectCode code, DateAndTime startDate, Money budget, EntityId clientId, Email owner, ProjectStatus status, ServiceOrderNumber orderNumber, Version version)
        {
            var project   = new Project(id, name, code, startDate, budget, clientId, owner, status, orderNumber, version);
            var validator = new ProjectValidator();

            project.SetValidationResult(validator.Validate(project));
            return(project);
        }
Пример #7
0
        static public int Execute(string loadProject)
        {
            Project          project   = new Project(loadProject);
            ProjectValidator validator = new ProjectValidator(project);

            project.Load();
            validator.Validate();
            return(0);
        }
Пример #8
0
        public int Execute()
        {
            Project          project   = new Project(Project);
            ProjectValidator validator = new ProjectValidator(project);

            ConsoleColor foregroundBackup = Console.ForegroundColor;
            ConsoleColor backgroundBackup = Console.BackgroundColor;

            switch (backgroundBackup)
            {
            case ConsoleColor.Black: break;

            case ConsoleColor.Blue:
            case ConsoleColor.DarkBlue:
                foregroundColor = ConsoleColor.White;
                infoColor       = ConsoleColor.Cyan;
                break;

            default:
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = foregroundColor;
                break;
            }

            Console.WriteLine("Loading info...");
            project.Load();

            Console.WriteLine("Starting validation on project {0}.", project.Name);
            validator.Validate();
            Console.WriteLine("Validation finished. Printing results.");

            if (!HideError)
            {
                PrintResultsOfType(validator, ValidationResultType.Error);
            }

            if (!HideWarning)
            {
                PrintResultsOfType(validator, ValidationResultType.Warning);
            }

            if (!HideInfo)
            {
                PrintResultsOfType(validator, ValidationResultType.Info);
            }

            Console.ForegroundColor = foregroundColor;

            Console.WriteLine();
            Console.WriteLine("Total number of situations found: {0}", validator.Count());

            Console.ForegroundColor = foregroundBackup;
            Console.BackgroundColor = backgroundBackup;

            return(0);
        }
Пример #9
0
        private bool ValidateDataResponsibleProject()
        {
            ProjectValidator          projectValidator     = new ProjectValidator();
            ValidationResult          dataValidationResult = projectValidator.Validate(_project);
            IList <ValidationFailure> validationFailures   = dataValidationResult.Errors;
            UserFeedback userFeedback = new UserFeedback(FormGrid, validationFailures);

            userFeedback.ShowFeedback();
            return(dataValidationResult.IsValid);
        }
Пример #10
0
        public void Validate()
        {
            var validator = new ProjectValidator();

            var validationResult = validator.Validate(this);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(string.Join(";", validationResult.Errors.Select(i => i.ErrorCode)));
            }
        }
Пример #11
0
        public void Validate_GiveValidProjectData_ShouldNotFail()
        {
            // arrange
            Setup();
            var project = Builder <Project> .CreateNew().WithValidData().Build();

            // action
            var validationResult = _validator.Validate(project);

            // assert
            validationResult.Errors.Select(x => x.ErrorMessage).StringJoin().Should().BeEmpty();
            validationResult.IsValid.Should().BeTrue();
        }
Пример #12
0
        public void ValidateNegativeEndDateIsEarlierThanStartDateTest()
        {
            var project = new Project()
            {
                ProjectName      = "Test",
                ProjectStartDate = DateTime.Now.AddDays(2),
                ProjectEndDate   = DateTime.Now.AddDays(1),
            };

            _projectValidator = new ProjectValidator();

            var result = _projectValidator.Validate(project);

            Assert.False(result);
        }
Пример #13
0
        public void ValidatePositiveTest()
        {
            var project = new Project()
            {
                ProjectName      = "Test",
                ProjectStartDate = DateTime.Now.AddDays(1),
                ProjectEndDate   = DateTime.Now.AddDays(1),
            };

            _projectValidator = new ProjectValidator();

            var result = _projectValidator.Validate(project);

            Assert.True(result);
        }
Пример #14
0
        private bool ValidateDataProject()
        {
            _isValidSchedulingActivity = true;
            _listSchedulingActivity    = new List <SchedulingActivity>();
            ProjectValidator          projectValidator     = new ProjectValidator();
            ValidationResult          dataValidationResult = projectValidator.Validate(_project);
            IList <ValidationFailure> validationFailures   = dataValidationResult.Errors;
            UserFeedback userFeedback = new UserFeedback(FormGrid, validationFailures);

            userFeedback.ShowFeedback();
            ValidateScheduleActivity(TextBoxScheduleActivityOne, LabelMonth1.Content.ToString());
            ValidateScheduleActivity(TextBoxScheduleActivityTwo, LabelMonth2.Content.ToString());
            ValidateScheduleActivity(TextBoxScheduleActivityThree, LabelMonth3.Content.ToString());
            ValidateScheduleActivity(TextBoxScheduleActivityFour, LabelMonth4.Content.ToString());
            return(dataValidationResult.IsValid && _isValidSchedulingActivity && _listSchedulingActivity.Count != 0);
        }
        public SaveResult <ProjectEntryModel> Save(ProjectDTO projectDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = projectValidator.Validate(projectDTO);
            bool success            = false;
            ProjectEntryModel model = null;

            if (validationResult.IsValid)
            {
                success = true;
                Update(projectDTO, dateStamp);
                Db.SaveChanges();
                model = projectEntryDataProvider.Get(projectDTO.Project_PK);
            }

            return(new SaveResult <ProjectEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
Пример #16
0
        async Task UpdateProject()
        {
            //  var validationResults = _projectValidator.Validate(_project);
            ProjectValidator _projectValidator = new ProjectValidator();
            ValidationResult validationResults = _projectValidator.Validate(_project);


            if (validationResults.IsValid)
            {
                bool isUserAccept = await Application.Current.MainPage.DisplayAlert("Project Details", "Update Project Details", "OK", "Cancel");

                if (isUserAccept)
                {
                    _project.LastModified = System.DateTime.UtcNow;
                    _projectRepository.UpdateProject(_project);
                    await _navigation.PopAsync();
                }
            }
            else
            {
                await Application.Current.MainPage.DisplayAlert("Add Project", validationResults.Errors[0].ErrorMessage, "Ok");
            }
        }
Пример #17
0
        private async Task SaveAndUpdate()
        {
            View.HideKeyboard();

            ProjectValidator validator = new ProjectValidator();

            var project = new Project
            {
                Title       = Title,
                Description = Description,
                Stage       = Stage,
                Invites     = mProjectItem.Invites,
                Id          = mProjectItem.Id,
                UserId      = mProjectItem.UserId,
                Owner       = mProjectItem.Owner,
                Active      = true
            };

            var result = validator.Validate(project);

            if (result.IsValid)
            {
                mPlatformService.ShowNetworkIndicator();
                mProgressDialogService.ShowProgressDialog();

                var succeed = await mApiService.UpdateProject(project);

                mPlatformService.HideNetworkIndicator();
                mProgressDialogService.HideProgressDialog();

                if (succeed)
                {
                    mMessageboxService.ShowToast("Saved!");
                    mCacheService.ProjectHeadingItem.ProjectHeading.Title = Title;
                    mCacheService.ProjectHeadingItem.RaisePropertyChanged("ProjectHeading");

                    // update the view project
                    ViewModelAction action = new ViewModelAction
                    {
                        ActionType    = ViewModelActionType.Update,
                        ViewModelType = typeof(ViewProjectViewModel),
                        Data          = project
                    };
                    Mvx.Resolve <IMvxMessenger>().Publish(new ViewModelActionMessage(this, action));

                    // update the project tabs
                    ViewModelAction action2 = new ViewModelAction
                    {
                        ActionType       = ViewModelActionType.Update,
                        ViewModelType    = typeof(HomeViewModel),
                        SubViewModelType = typeof(ProjectsViewModel),
                        Data             = project
                    };
                    Mvx.Resolve <IMvxMessenger>().Publish(new ViewModelActionMessage(this, action2));

                    Close(this);
                }
            }
            else if (result.Errors != null)
            {
                var firstError = result.Errors.First();
                mMessageboxService.ShowToast(firstError.ErrorMessage);
            }
        }
        public void CreateProjectTest()
        {
            ProjectService projectService = new ProjectService(uow, new Map <Project, ProjectDTO>());

            ProjectDTO project = new ProjectDTO
            {
                ProjectName        = "project1",
                ProjectDescription = "this is the first project",
                ProjectStartDate   = new DateTimeOffset(2021, 10, 16, 10, 15, 35, new TimeSpan(3, 0, 0)),
                ProjectEndDate     = new DateTimeOffset(2021, 11, 21, 11, 15, 35, new TimeSpan(3, 0, 0))
            };

            var        errors = pvalidator.Validate(project);
            var        pr     = projectService.CreateProject(project);
            ProjectDTO actual = projectService.GetProjectById(pr.Id);

            ProjectDTO expected = new ProjectDTO
            {
                Id                 = actual.Id,
                ProjectName        = "project1",
                ProjectDescription = "this is the first project",
                ProjectStartDate   = new DateTimeOffset(2021, 10, 16, 10, 15, 35, new TimeSpan(3, 0, 0)),
                ProjectEndDate     = new DateTimeOffset(2021, 11, 21, 11, 15, 35, new TimeSpan(3, 0, 0)),
                ProjectStatusId    = 1
            };

            Assert.IsTrue(errors.Count == 0 && actual.Id == expected.Id && actual.ProjectName == expected.ProjectName &&
                          actual.ProjectDescription == expected.ProjectDescription && actual.ProjectStartDate == expected.ProjectStartDate &&
                          actual.ProjectEndDate == expected.ProjectEndDate && actual.ProjectStatusId == expected.ProjectStatusId);
            projectService.DeleteProjectById(actual.Id);
        }