public void Bonus_deactivation_is_saved_to_DB() { var bonus = CreateFirstDepositBonus(); _bonusManagementCommands.ChangeBonusStatus(new ToggleBonusStatus { Id = bonus.Id }); var updatedBonus = BonusRepository.GetCurrentVersionBonuses().Single(a => a.Id == bonus.Id); Assert.False(updatedBonus.IsActive); }
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 AddBonus( BonusType bonusType, string templateName, IssuanceMode mode, BonusRewardType rewardType, decimal depositAmountFrom, decimal bonusAmount, decimal maxBonus, string bonusName, string bonusCode, string description) { var brand = _bonusRepository.Brands.Single(b => b.Id == new Guid("00000000-0000-0000-0000-000000000138")); Guid templateId; var template = _bonusRepository.Templates.SingleOrDefault(t => t.Info.Name == templateName); if (template == null) { var model = new CreateUpdateTemplate { Id = Guid.Empty, Info = new CreateUpdateTemplateInfo { Name = templateName, TemplateType = bonusType, BrandId = brand.Id, WalletTemplateId = brand.WalletTemplates.First().Id, Mode = mode } }; var identifier = _bonusManagementCommands.AddUpdateTemplate(model); templateId = identifier.Id; model = new CreateUpdateTemplate { Id = identifier.Id, Version = identifier.Version, Availability = new CreateUpdateTemplateAvailability(), Rules = new CreateUpdateTemplateRules { RewardType = rewardType, RewardTiers = new List <CreateUpdateRewardTier> { new CreateUpdateRewardTier { CurrencyCode = "RMB", BonusTiers = new List <CreateUpdateTemplateTier> { new CreateUpdateTemplateTier { From = depositAmountFrom, Reward = bonusAmount } }, RewardAmountLimit = maxBonus } } }, Wagering = new CreateUpdateTemplateWagering { HasWagering = true, Method = WageringMethod.Bonus, Multiplier = 2 }, Notification = new CreateUpdateTemplateNotification() }; _bonusManagementCommands.AddUpdateTemplate(model); } else { templateId = template.Id; } var bonus = _bonusRepository.Bonuses.SingleOrDefault(b => b.Name == bonusName); if (bonus == null) { var startDate = new DateTime(2016, 4, 26, 0, 0, 0); var endDate = new DateTime(2016, 12, 31, 0, 0, 0); var bonusId = _bonusManagementCommands.AddUpdateBonus(new CreateUpdateBonus { Id = Guid.Empty, Name = bonusName, Code = bonusCode, Description = description, TemplateId = templateId, ActiveFrom = startDate, ActiveTo = endDate, DurationStart = startDate, DurationEnd = endDate }); if (bonusType == BonusType.FirstDeposit && mode == IssuanceMode.Automatic) { return; } _bonusManagementCommands.ChangeBonusStatus(new ToggleBonusStatus { Id = bonusId, IsActive = true }); } }