public void Deactivate(AvcChangeStatusCommand command)
        {
            var avcToUpdate = _fraudRepository
                              .AutoVerificationCheckConfigurations
                              .FirstOrDefault(avc => avc.Id == command.Id);

            if (avcToUpdate == null)
            {
                return;
            }

            avcToUpdate.Status          = AutoVerificationCheckStatus.Inactive;
            avcToUpdate.DeactivatedBy   = _actorInfoProvider.Actor.UserName;;
            avcToUpdate.DateDeactivated = DateTime.UtcNow;

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                _fraudRepository.AutoVerificationCheckConfigurations.AddOrUpdate(avcToUpdate);
                _fraudRepository.SaveChanges();
                scope.Complete();
            }

            _eventBus.Publish(new AutoVerificationCheckDeactivated()
            {
                DeactivatedBy   = _actorInfoProvider.Actor.UserName,
                DateDeactivated = avcToUpdate.DateDeactivated
            });
        }
Exemple #2
0
        public void Can_activate_Avc_configuration()
        {
            var id = Guid.NewGuid();

            Container.Resolve <BrandTestHelper>().CreateBrand(isActive: true);
            var avcConfiguration = new AVCConfigurationDTO
            {
                Id    = id,
                Brand = _brandQueries.GetBrands().First().Id,
            };

            _avcConfigurationCommands.Create(avcConfiguration);

            var latestAutoVerificationCheckCriteria = _avcConfigurationQueries
                                                      .GetAutoVerificationCheckConfiguration(id);

            //The default state of criteria at the moment of creation must be Inactive
            Assert.AreEqual(AutoVerificationCheckStatus.Inactive, latestAutoVerificationCheckCriteria.Status);

            //We activate the newly created AVC
            var activationCommand = new AvcChangeStatusCommand()
            {
                Id = avcConfiguration.Id
            };

            _avcConfigurationCommands.Activate(activationCommand);

            var latestAutoVerificationCheckCriteriaActivated = _avcConfigurationQueries
                                                               .GetAutoVerificationCheckConfiguration(id);

            Assert.AreEqual(AutoVerificationCheckStatus.Active, latestAutoVerificationCheckCriteriaActivated.Status);
        }
Exemple #3
0
        public void Can_deactivated_Avc_configuration()
        {
            //Here we create AVC with status of Active
            var id = Guid.NewGuid();

            Container.Resolve <BrandTestHelper>().CreateBrand(isActive: true);
            var avcConfiguration = new AVCConfigurationDTO
            {
                Id     = id,
                Status = AutoVerificationCheckStatus.Active,
                Brand  = _brandQueries.GetBrands().First().Id
            };

            _avcConfigurationCommands.Create(avcConfiguration);

            var latestAutoVerificationCheckCriteria = _avcConfigurationQueries
                                                      .GetAutoVerificationCheckConfiguration(id);

            Assert.AreEqual(AutoVerificationCheckStatus.Active, latestAutoVerificationCheckCriteria.Status);

            //We deactivate the newly created AVC
            var activationCommand = new AvcChangeStatusCommand()
            {
                Id = avcConfiguration.Id
            };

            _avcConfigurationCommands.Deactivate(activationCommand);

            var latestAutoVerificationCheckCriteriaActivated = _avcConfigurationQueries
                                                               .GetAutoVerificationCheckConfiguration(id);

            Assert.AreEqual(AutoVerificationCheckStatus.Inactive, latestAutoVerificationCheckCriteriaActivated.Status);
        }
Exemple #4
0
        public ActionResult Activate(AvcChangeStatusCommand model)
        {
            var validationResult = _avcConfigurationQueries
                                   .GetValidationResult(model, AutoVerificationCheckStatus.Inactive);

            if (validationResult.IsValid == false)
            {
                return(ValidationErrorResponse(validationResult));
            }

            _avcConfigurationCommands.Activate(model);
            return(Json(new { Success = true }));
        }
Exemple #5
0
 //Validation calls
 public ValidationResult GetValidationResult(AvcChangeStatusCommand model, AutoVerificationCheckStatus status)
 {
     return(new AVCStatusValidator(_fraudRepository, status).Validate(model));
 }