public void Deactivate(DeactivatePaymentGatewaySettingsData model) { var setting = _repository.PaymentGatewaySettings .Single(x => x.Id == model.Id); setting.Status = Status.Inactive; setting.DateDeactivated = _paymentQueries.GetBrandDateTimeOffset(setting.BrandId); setting.DeactivatedBy = _actorInfoProvider.Actor.UserName; using (var scope = CustomTransactionScope.GetTransactionScope()) { _repository.SaveChanges(); _eventBus.Publish(new PaymentGatewaySettingDeactivated { Id = setting.Id, DeactivatedBy = setting.DeactivatedBy, DeactivatedDate = setting.DateDeactivated.GetValueOrDefault(), OnlinePaymentMethodName = setting.OnlinePaymentMethodName, PaymentGatewayName = setting.PaymentGatewayName, Channel = setting.Channel, EntryPoint = setting.EntryPoint, BrandId = setting.BrandId, Remarks = model.Remarks }); scope.Complete(); } }
public ValidationResult ValidateThatPaymentGatewaySettingsCanBeDeactivated(DeactivatePaymentGatewaySettingsData model) { var validator = new DeactivatePaymentGatewaySettingsValidator(_repository); return(validator.Validate(model)); }