public async Task <Template> CreateTemplate( CreateUpdateTemplateInfo info = null, CreateUpdateTemplateAvailability availability = null, CreateUpdateTemplateRules rules = null, CreateUpdateTemplateWagering wagering = null, CreateUpdateTemplateNotification notification = null ) { var brand = _brandQueries.GetBrands().First(); var model = new CreateUpdateTemplate { Id = Guid.Empty, Info = info ?? new CreateUpdateTemplateInfo { Name = TestDataGenerator.GetRandomString(), TemplateType = BonusType.FirstDeposit, BrandId = brand.Id, WalletTemplateId = brand.WalletTemplates.First().Id, Mode = IssuanceMode.Automatic } }; var response = await _bonusApiProxy.CreateUpdateBonusTemplateAsync(model); if (response.Success == false) { throw new Exception(response.Errors.First().ErrorMessage); } model = new CreateUpdateTemplate { Id = response.Id.Value, Version = response.Version.Value, Availability = availability ?? new CreateUpdateTemplateAvailability(), Rules = rules ?? new CreateUpdateTemplateRules { RewardTiers = new List <CreateUpdateRewardTier> { new CreateUpdateRewardTier { CurrencyCode = "CAD", BonusTiers = new List <CreateUpdateTemplateTier> { new CreateUpdateTemplateTier { Reward = 29 } } } } }, Wagering = wagering ?? new CreateUpdateTemplateWagering(), Notification = notification ?? new CreateUpdateTemplateNotification() }; response = await _bonusApiProxy.CreateUpdateBonusTemplateAsync(model); if (response.Success == false) { throw new Exception(response.Errors.First().ErrorMessage); } return(await _bonusApiProxy.GetTemplateOrNull(response.Id.Value)); }
public Template CreateTemplate( CreateUpdateTemplateInfo info = null, CreateUpdateTemplateAvailability availability = null, CreateUpdateTemplateRules rules = null, CreateUpdateTemplateWagering wagering = null, CreateUpdateTemplateNotification notification = null ) { var model = new CreateUpdateTemplate { Id = Guid.Empty, Info = info ?? CreateTemplateInfo(BonusType.FirstDeposit) }; var identifier = BonusManagementCommands.AddUpdateTemplate(model); model = new CreateUpdateTemplate { Id = identifier.Id, Version = identifier.Version, Availability = availability ?? new CreateUpdateTemplateAvailability(), Rules = rules ?? new CreateUpdateTemplateRules { RewardTiers = new List <CreateUpdateRewardTier> { new CreateUpdateRewardTier { CurrencyCode = "CAD", BonusTiers = new List <CreateUpdateTemplateTier> { new CreateUpdateTemplateTier { Reward = 27 } } } } }, Wagering = wagering ?? new CreateUpdateTemplateWagering(), Notification = notification ?? new CreateUpdateTemplateNotification() }; identifier = BonusManagementCommands.AddUpdateTemplate(model); return(BonusRepository.Templates.Single(t => t.Id == identifier.Id && t.Version == identifier.Version)); }