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(); } }
public ValidationResult ValidateThatPaymentGatewaySettingsCanBeActivated(ActivatePaymentGatewaySettingsData model) { var validator = new ActivatePaymentGatewaySettingsValidator(_repository); return(validator.Validate(model)); }