public void Enable(PaymentSettingsId id, string remarks) { var paymentSettings = _repository.PaymentSettings .Single(x => x.Id == id); //TODO:AFTREGO-4143:should be mvoe to Validator bool isTheSameSettingsActivated; if (paymentSettings.PaymentGatewayMethod == PaymentMethod.Online) { isTheSameSettingsActivated = _paymentQueries.GetOnlinePaymentSettings( paymentSettings.BrandId, paymentSettings.PaymentType, paymentSettings.VipLevel, paymentSettings.PaymentMethod, paymentSettings.CurrencyCode) != null; } else { isTheSameSettingsActivated = _paymentQueries.GetOfflinePaymentSettings( paymentSettings.BrandId, paymentSettings.PaymentType, paymentSettings.VipLevel, paymentSettings.CurrencyCode) != null; } if (isTheSameSettingsActivated) { throw new RegoException(PaymentSettingsErrors.TheSameSettingsActivated.ToString()); } paymentSettings.Enabled = Status.Active; paymentSettings.EnabledDate = DateTime.Now; paymentSettings.EnabledBy = _actorInfoProvider.Actor.UserName; _repository.SaveChanges(); _eventBus.Publish(new PaymentSettingActivated { Id = paymentSettings.Id, ActivatedBy = paymentSettings.UpdatedBy, ActivatedDate = paymentSettings.EnabledDate.GetValueOrDefault(), VipLevel = paymentSettings.VipLevel, CurrencyCode = paymentSettings.CurrencyCode, BrandId = paymentSettings.BrandId, Remarks = remarks }); }
public void Disable(PaymentSettingsId id, string remarks) { var paymentSettings = _repository.PaymentSettings .Single(x => x.Id == id); paymentSettings.Enabled = Status.Inactive; paymentSettings.DisabledDate = DateTime.Now; paymentSettings.DisabledBy = _actorInfoProvider.Actor.UserName; _repository.SaveChanges(); _eventBus.Publish(new PaymentSettingDeactivated { Id = paymentSettings.Id, DeactivatedBy = paymentSettings.UpdatedBy, DeactivatedDate = paymentSettings.DisabledDate.GetValueOrDefault(), VipLevel = paymentSettings.VipLevel, CurrencyCode = paymentSettings.CurrencyCode, BrandId = paymentSettings.BrandId, Remarks = remarks }); }