Пример #1
0
        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));
        }
Пример #2
0
        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));
        }