public async Task <ToggleBonusStatusResponse> ChangeStatus(ToggleBonusStatus model) { VerifyPermission(Permissions.Activate, Modules.BonusManager); VerifyPermission(Permissions.Deactivate, Modules.BonusManager); var bonus = await _bonusApiProxy.GetBonusOrNull(model.Id); if (bonus != null) { CheckBrand(bonus.BrandId); } return(await _bonusApiProxy.ChangeBonusStatusAsync(model)); }
public ToggleBonusStatusResponse ChangeStatus(ToggleBonusStatus model) { var validationResult = _bonusQueries.GetValidationResult(model); if (!validationResult.IsValid) { return(ValidationErrorResponse <ToggleBonusStatusResponse>(validationResult)); } _bonusCommands.ChangeBonusStatus(model); return(new ToggleBonusStatusResponse { Success = true }); }
public void ChangeBonusStatus(ToggleBonusStatus model) { var validationResult = _bonusQueries.GetValidationResult(model); if (validationResult.IsValid == false) { throw new RegoException(validationResult.Errors.First().ErrorMessage); } var bonusToUpdate = _bonusQueries.GetCurrentVersionBonuses().Single(b => b.Id == model.Id); var isActive = model.IsActive; if (bonusToUpdate.IsActive == isActive) { return; } bonusToUpdate.IsActive = isActive; AddUpdatedBonus(bonusToUpdate); if (isActive) { _eventBus.Publish(new BonusActivated { AggregateId = bonusToUpdate.Id, Remarks = model.Remarks, EventCreated = bonusToUpdate.UpdatedOn.Value }); } else { _eventBus.Publish(new BonusDeactivated { AggregateId = bonusToUpdate.Id, Remarks = model.Remarks, EventCreated = bonusToUpdate.UpdatedOn.Value }); } }
public ToggleBonusStatusResponse ChangeBonusStatus(ToggleBonusStatus request) { return(WebClient.SecurePostAsJson <ToggleBonusStatus, ToggleBonusStatusResponse>(Token, _url + AdminApiRoutes.ChangeBonusStatus, request)); }
public Task <ToggleBonusStatusResponse> ChangeBonusStatusAsync(ToggleBonusStatus request) { return(SecurePostAsJson <ToggleBonusStatus, ToggleBonusStatusResponse>(Routes.ChangeBonusStatus, request)); }
public ValidationResult GetValidationResult(ToggleBonusStatus model) { return(new ToggleBonusStatusValidator(this).Validate(model)); }