コード例 #1
0
        public void Given_valid_viewmodel_When_CreateCompanyDefault_Then_should_call_correct_methods()
        {
            // Given
            var target = CreateCompanyDefaultsController();
            var userId = target.CurrentUser.UserId;
            var viewModel = new SaveCompanyDefaultViewModel()
            {
                CompanyDefaultValue = "Some Value",
                CompanyDefaultType = "Hazards"
            };

            var mockSaveTask = new Mock<ICompanyDefaultsSaveTask>();
            _companyDefaultsTaskFactory
                .Setup(x => x.CreateSaveTask(viewModel.CompanyDefaultType))
                .Returns(mockSaveTask.Object);

            mockSaveTask
                .Setup(x => x.Execute(It.Is<SaveCompanyDefaultViewModel>(y => y.CompanyDefaultValue == viewModel.CompanyDefaultValue &&
                                                                                     y.CompanyId == viewModel.CompanyId &&
                                                                                     y.RiskAssessmentId == viewModel.RiskAssessmentId &&
                                                                                     y.RunMatchCheck == viewModel.RunMatchCheck), userId))
                .Returns(new CompanyDefaultSaveResponse());


            // When
            target.CreateCompanyDefaults(viewModel);

            // Then
            _companyDefaultsTaskFactory.VerifyAll();
            mockSaveTask.VerifyAll();
        }
コード例 #2
0
        public override CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId)
        {
            // Test there no Risk Assessment Types Applicable
            if (viewModel.RiskAssessmentTypeApplicable == null || viewModel.RiskAssessmentTypeApplicable.Any() == false)
            {
                return CompanyDefaultSaveResponse.CreateValidationFailedResponse("Applicable risk types required");
            }

            var request = new SaveCompanyHazardDefaultRequest(viewModel.CompanyDefaultId,
                                                        viewModel.CompanyDefaultValue,
                                                        viewModel.CompanyId,
                                                        viewModel.RiskAssessmentId,
                                                        viewModel.RunMatchCheck,
                                                        viewModel.RiskAssessmentTypeApplicable,
                                                        userId);
            if (request.RunMatchCheck)
            {
                _guardDefaultExistsRequest = new GuardDefaultExistsRequest(request.Name, request.Id, request.CompanyId);
                var existResult = CompanyDefaultAlreadyExistGuard.Execute(RunQuery);

                if (existResult.Exists)
                {
                    return CompanyDefaultSaveResponse.CompanyDefaultMatches(existResult.MatchingResults);
                }
            }

            var result = CompanyDefaultService.SaveHazard(request);
            return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(result);
        }
コード例 #3
0
        public override CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId)
        {
            var request = new SaveInjuryRequest(viewModel.CompanyDefaultId, viewModel.CompanyDefaultValue,
                                                viewModel.CompanyId, viewModel.RiskAssessmentId, viewModel.RunMatchCheck,
                                                userId);

            var result = CompanyDefaultService.SaveInjury(request);

            return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(result);
        }
コード例 #4
0
        public void Given_invalid_viewmodel_no_default_value_When_CreateCompanyDefault_Then_should_return_correct_result()
        {
            // Given
            var target = CreateCompanyDefaultsController();
            var viewModel = new SaveCompanyDefaultViewModel()
                                                        {
                                                            CompanyDefaultValue = ""
                                                        };

            // When
            var result = target.CreateCompanyDefaults(viewModel) as JsonResult;

            // Then
            Assert.That(result.Data.ToString(), Contains.Substring("{ Success = False, Message = Value must be provided. }"));
        }
コード例 #5
0
 public JsonResult CreateRiskAssessmentDefaults(SaveCompanyDefaultViewModel viewModel)
 {
     if (CurrentUser.IsInRole(Permissions.EditGeneralandHazardousSubstancesRiskAssessments.ToString())
         || CurrentUser.IsInRole(Permissions.EditFireRiskAssessments.ToString())
         || CurrentUser.IsInRole(Permissions.EditPersonalRiskAssessments.ToString()))
     {
         if (viewModel.RiskAssessmentId == null || viewModel.RiskAssessmentId == default(long))
         {
             return Json(new {Success = false, Message = "Must be associated with a Risk Assessment."});
         }
         return SaveCompanyDefaults(viewModel);
     }
     
     return Json(new { Success = false, Message = "Unauthorised." });
 }
コード例 #6
0
        public override CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId)
        {
            var request = new SaveCompanyDefaultRequest(viewModel.CompanyDefaultId, viewModel.CompanyDefaultValue,
                                                        viewModel.CompanyId, viewModel.RiskAssessmentId, viewModel.RunMatchCheck,
                                                        userId);

            var result =
                CompanyDefaultService.SaveSourceOfIgnition(new SaveCompanyDefaultRequest(request.Id,
                                                                                     request.Name,
                                                                                     request.CompanyId,
                                                                                     request.RiskAssessmentId,
                                                                                     false,
                                                                                     userId));

            return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(result);

        }
コード例 #7
0
        public override CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId)
        {
            var request = new SaveCompanyDefaultRequest(viewModel.CompanyDefaultId, viewModel.CompanyDefaultValue,
                                            viewModel.CompanyId, viewModel.RiskAssessmentId, viewModel.RunMatchCheck,
                                            userId);
            
            if (request.RunMatchCheck)
            {
                _guardDefaultExistsRequest = new GuardDefaultExistsRequest(request.Name, request.Id, request.CompanyId);
                var existResult = CompanyDefaultAlreadyExistGuard.Execute(RunQuery);

                if (existResult.Exists)
                {
                    return CompanyDefaultSaveResponse.CompanyDefaultMatches(existResult.MatchingResults);
                }
            }

            var result = CompanyDefaultService.SavePeopleAtRisk(request);
            return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(result);
        }
コード例 #8
0
        public override CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId)
        {
            var request = new SaveCompanyDefaultRequest(viewModel.CompanyDefaultId, viewModel.CompanyDefaultValue,
                                           viewModel.CompanyId, viewModel.RiskAssessmentId, viewModel.RunMatchCheck,
                                           userId);

            if (request.RunMatchCheck)
            {
                _guardDefaultExistsRequest = new GuardDefaultExistsRequest(request.Name, request.Id, request.CompanyId);
                var existResult = CompanyDefaultAlreadyExistGuard.Execute(RunQuery);

                if (existResult.Exists)
                {
                    return CompanyDefaultSaveResponse.CompanyDefaultMatches(existResult.MatchingResults);
                }
            }

            if(request.Id == 0)
            {
                var result = _suppliersService.CreateSupplier(new SaveSupplierRequest()
                                                                  {
                                                                      Name = request.Name,
                                                                      CompanyId = request.CompanyId,
                                                                      UserId = request.UserId
                                                                  });

                return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(result);
            }

            _suppliersService.UpdateSupplier(new SaveSupplierRequest()
                                                {
                                                    Id = request.Id,
                                                    Name = request.Name,
                                                    CompanyId = request.CompanyId,
                                                    UserId = request.UserId
                                                });

            return CompanyDefaultSaveResponse.CreateSavedSuccessfullyResponse(request.Id);
        }
コード例 #9
0
        public void Given_save_task_fails_When_CreateCompanyDefault_Then_should_call_correct_result()
        {
            // Given
            var target = CreateCompanyDefaultsController();
            var userId = target.CurrentUser.UserId;
            var viewModel = new SaveCompanyDefaultViewModel()
            {
                CompanyDefaultValue = "Some Value",
                CompanyDefaultType = "Hazards"
            };

            var mockSaveTask = new Mock<ICompanyDefaultsSaveTask>();
            _companyDefaultsTaskFactory
                .Setup(x => x.CreateSaveTask(viewModel.CompanyDefaultType))
                .Returns(mockSaveTask.Object);

            mockSaveTask
                .Setup(x => x.Execute(It.Is<SaveCompanyDefaultViewModel>(y => y.CompanyDefaultValue == viewModel.CompanyDefaultValue &&
                                                                                     y.CompanyId == viewModel.CompanyId &&
                                                                                     y.RiskAssessmentId == viewModel.RiskAssessmentId &&
                                                                                     y.RunMatchCheck == viewModel.RunMatchCheck),userId))
                .Returns(new CompanyDefaultSaveResponse());


            // When
            var result = target.CreateCompanyDefaults(viewModel) as JsonResult;

            // Then
            Assert.That(result.Data.ToString(), Contains.Substring("Success = False"));
        }
コード例 #10
0
        public void Given_invalid_viewmodel_no_riskaassments_value_When_CreateRiskAssessmentHazardDefaults_Then_should_return_correct_result()
        {
            // Given
            var target = CreateCompanyDefaultsController();
            var viewModel = new SaveCompanyDefaultViewModel()
            {
                CompanyDefaultValue = "Some Value",
                CompanyDefaultType = "Hazards"
            };

            // When
            var result = target.CreateRiskAssessmentDefaults(viewModel) as JsonResult;

            // Then
            Assert.That(result.Data.ToString(), Contains.Substring("{ Success = False, Message = Must be associated with a Risk Assessment. }"));
        }
コード例 #11
0
 public abstract CompanyDefaultSaveResponse Execute(SaveCompanyDefaultViewModel viewModel, Guid userId);
コード例 #12
0
 public JsonResult CreateCompanyDefaults(SaveCompanyDefaultViewModel viewModel)
 {
     return SaveCompanyDefaults(viewModel);
 }
コード例 #13
0
        private JsonResult SaveCompanyDefaults(SaveCompanyDefaultViewModel viewModel)
        {
            if (string.IsNullOrEmpty(viewModel.CompanyDefaultValue))
            {
                return Json(new { Success = false, Message = "Value must be provided." });
            }

            var saveTask = _companyDefaultsTaskFactory.CreateSaveTask(viewModel.CompanyDefaultType);

            var result = saveTask.Execute(viewModel, CurrentUser.UserId);

            if (!result.Success)
            {
                return Json(new { Success = false, result.Message, result.Matches });
            }

            return Json(new { Success = true, result.Id });
        }