예제 #1
0
        public async Task <dto.ApplyPromotionResponse> ApplyPromotion(dto.ApplyPromotionRequestData request)
        {
            var signature = !string.IsNullOrEmpty(await _sessionBag.Signature())
                    ? await _sessionBag.Signature()
                    : await _userSessionService.GetAnonymousSharedSignature();

            var reqData  = Mapper.Map <ApplyPromotionRequestData>(request);
            var response = await _client.ApplyPromotionAsync(new ApplyPromotionRequest
            {
                ContractVersion           = _navApiContractVer,
                EnableExceptionStackTrace = false,
                Signature             = signature,
                ApplyPromotionReqData = reqData
            });

            await GetSessionBooking(true);

            var convertedResponse =
                Mapper.Map <dto.ApplyPromotionResponse>(response);

            return(convertedResponse);
        }