示例#1
0
        public void Activate(ActivatePaymentGatewaySettingsData model)
        {
            var setting = _repository.PaymentGatewaySettings
                          .Single(x => x.Id == model.Id);

            setting.Status        = Status.Active;
            setting.DateActivated = _paymentQueries.GetBrandDateTimeOffset(setting.BrandId);
            setting.ActivatedBy   = _actorInfoProvider.Actor.UserName;

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                _repository.SaveChanges();

                _eventBus.Publish(new PaymentGatewaySettingActivated
                {
                    Id                      = setting.Id,
                    ActivatedBy             = setting.ActivatedBy,
                    ActivatedDate           = setting.DateActivated.GetValueOrDefault(),
                    OnlinePaymentMethodName = setting.OnlinePaymentMethodName,
                    PaymentGatewayName      = setting.PaymentGatewayName,
                    Channel                 = setting.Channel,
                    EntryPoint              = setting.EntryPoint,
                    BrandId                 = setting.BrandId,
                    Remarks                 = model.Remarks
                });

                scope.Complete();
            }
        }
示例#2
0
        public ValidationResult ValidateThatPaymentGatewaySettingsCanBeActivated(ActivatePaymentGatewaySettingsData model)
        {
            var validator = new ActivatePaymentGatewaySettingsValidator(_repository);

            return(validator.Validate(model));
        }