Ejemplo n.º 1
0
        public void ActivateBrand(ActivateBrandRequest request)
        {
            var brand = GetBrandForActivation(request.BrandId);

            var validationResult = ValidateThatBrandCanBeActivated(request);

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

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                brand.Status      = BrandStatus.Active;
                brand.UpdatedBy   = brand.ActivatedBy = _actorInfoProvider.Actor.UserName;
                brand.DateUpdated = brand.DateActivated = DateTimeOffset.Now.ToBrandOffset(brand.TimezoneId);
                brand.Remarks     = request.Remarks;

                _repository.SaveChanges();

                _eventBus.Publish(
                    new BrandActivated
                {
                    Id           = brand.Id,
                    EventCreated = DateTimeOffset.Now.ToBrandOffset(brand.TimezoneId),
                });
                scope.Complete();
            }
        }
Ejemplo n.º 2
0
        public ValidationResult ValidateThatBrandCanBeActivated(ActivateBrandRequest request)
        {
            var brand             = GetBrandForActivation(request.BrandId);
            var activateBrandData = new ActivateBrandValidationData
            {
                Brand = brand,
                BrandPaymentLevels = _paymentQueries.GetPaymentLevels(request.BrandId).ToArray(),
                BrandRiskLevels    = _queries.GetRiskLevels(request.BrandId).ToArray(),
                Remarks            = request.Remarks
            };
            var validator = new ActivateBrandValidator();

            return(validator.Validate(activateBrandData));
        }
Ejemplo n.º 3
0
        public void ThenBrandIsSuccessfullyActivated()
        {
            ScenarioContext.Current.Should().ContainKey("brandId");
            var brandId = ScenarioContext.Current.Get <Guid>("brandId");

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

            var result = AdminApiProxy.ActivateBrand(data);

            result.Should().NotBeNull();
            result.Success.Should().BeTrue();
        }
Ejemplo n.º 4
0
        public ActivateBrandResponse Activate(ActivateBrandRequest request)
        {
            VerifyPermission(Permissions.Activate, Modules.BrandManager);
            CheckBrand(request.BrandId);

            var validationResult = _brandCommands.ValidateThatBrandCanBeActivated(request);

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

            _brandCommands.ActivateBrand(request);
            return(new ActivateBrandResponse {
                Success = true
            });
        }
Ejemplo n.º 5
0
 public ActivateBrandResponse ActivateBrand(ActivateBrandRequest request)
 {
     return(WebClient.SecurePostAsJson <ActivateBrandRequest, ActivateBrandResponse>(Token, _url + AdminApiRoutes.ActivateBrand, request));
 }