Exemple #1
0
        public ValidationResult ValidateThatBrandCanBeDeactivated(DeactivateBrandRequest request)
        {
            var brand = GetBrandForDeactivation(request.BrandId);

            brand.Remarks = request.Remarks;
            var deactivateBrandData = new DeactivateBrandValidationData
            {
                Brand = brand
            };
            var validator = new DeactivateBrandValidator();

            return(validator.Validate(deactivateBrandData));
        }
Exemple #2
0
        public void ThenBrandIsSuccessfullyDeactivated()
        {
            ScenarioContext.Current.Should().ContainKey("brandId");
            var brandId = ScenarioContext.Current.Get <Guid>("brandId");

            var data = new DeactivateBrandRequest
            {
                BrandId = brandId,
                Remarks = "Some remark"
            };

            var result = AdminApiProxy.DeactivateBrand(data);

            result.Should().NotBeNull();
            result.Success.Should().BeTrue();
        }
        public DeactivateBrandResponse Deactivate(DeactivateBrandRequest request)
        {
            VerifyPermission(Permissions.Deactivate, Modules.BrandManager);
            CheckBrand(request.BrandId);

            var validationResult = _brandCommands.ValidateThatBrandCanBeDeactivated(request);

            if (!validationResult.IsValid)
            {
                return(ValidationErrorResponse <DeactivateBrandResponse>(validationResult));
            }

            _brandCommands.DeactivateBrand(request);

            return(new DeactivateBrandResponse {
                Success = true
            });
        }
Exemple #4
0
        public void DeactivateBrand(DeactivateBrandRequest request)
        {
            var brand = _repository.Brands.SingleOrDefault(x => x.Id == request.BrandId);

            if (brand != null)
            {
                brand.Remarks = request.Remarks;
            }

            var deactivateBrandData = new DeactivateBrandValidationData {
                Brand = brand
            };

            var validationResult = new DeactivateBrandValidator().Validate(deactivateBrandData);

            if (!validationResult.IsValid)
            {
                throw new RegoValidationException(validationResult);
            }

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                brand.Status      = BrandStatus.Deactivated;
                brand.UpdatedBy   = brand.DeactivatedBy = _actorInfoProvider.Actor.UserName;
                brand.DateUpdated = brand.DateDeactivated = DateTimeOffset.Now.ToBrandOffset(brand.TimezoneId);

                _repository.SaveChanges();

                _eventBus.Publish(new BrandDeactivated
                {
                    Id           = request.BrandId,
                    EventCreated = DateTimeOffset.Now.ToBrandOffset(brand.TimezoneId),
                });
                scope.Complete();
            }
        }
 public DeactivateBrandResponse DeactivateBrand(DeactivateBrandRequest request)
 {
     return(WebClient.SecurePostAsJson <DeactivateBrandRequest, DeactivateBrandResponse>(Token, _url + AdminApiRoutes.DeactivateBrand, request));
 }