Beispiel #1
0
        public async Task <List <BonusCustomerResponseModel> > TriggerBonusToCustomers(BonusCustomersRequestModel model)
        {
            var responseContracts = await _bonusService.TriggerBonusToCustomersAsync(
                _mapper.Map <List <BonusCustomerRequest> >(model.BonusCustomers));

            return(_mapper.Map <List <BonusCustomerResponseModel> >(responseContracts));
        }
Beispiel #2
0
        public async Task <List <BonusCustomerResponseModel> > TriggerBonusToCustomersAsync(
            [FromBody] BonusCustomersRequestModel model)
        {
            var partnerId = _requestContext.UserId;

            model.BonusCustomers.ForEach(x => x.SetPartnerId(partnerId));

            var sanitizedModel = model.BonusCustomers.Select(x => new
            {
                x.CustomerId,
                Email = x.Email.SanitizeEmail(),
                x.Currency,
                x.FiatAmount,
                x.LocationId,
                PartnerId = x.GetPartnerId(),
                x.PaymentTimestamp,
                x.PosId
            }).ToList();

            _log.Info("Trigger bonus to customers started", sanitizedModel);

            var result = await _bonusService.TriggerBonusToCustomersAsync(model);

            _log.Info("Trigger bonus to customers finished", sanitizedModel);

            return(result);
        }
Beispiel #3
0
        public async Task When_Trigger_Bonus_To_Customers_Async_Is_Executed_Then_Partners_Integration_Client_Is_Called()
        {
            _partnersIntegrationClientMock.Setup(x =>
                                                 x.BonusApi.TriggerBonusToCustomers(It
                                                                                    .IsAny <PartnersIntegration.Client.Models.BonusCustomersRequestModel>()));

            await _bonusService.TriggerBonusToCustomersAsync(
                It.IsAny <Domain.Models.Bonus.BonusCustomersRequestModel>());

            _partnersIntegrationClientMock.Verify(
                x => x.BonusApi.TriggerBonusToCustomers(
                    It.IsAny <PartnersIntegration.Client.Models.BonusCustomersRequestModel>()), Times.Once);
        }