Beispiel #1
0
        public async Task <VoucherDetailDTO> CreateVoucher(CreateVoucherDTO createVoucher)
        {
            var    content = JsonConvert.SerializeObject(createVoucher);
            string uri     = $"{_baseUrl}/vouchers";
            var    res     = await _httpClient.PostAsync(uri, new StringContent(content, Encoding.UTF8, "application/json")).ConfigureAwait(false);

            var textData = await res.Content.ReadAsStringAsync();

            if (res.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <VoucherDetailDTO>(textData));
            }
            var errorMessage = ParseErrorResponse(textData);

            throw new Exception(errorMessage);
        }
        private void CreateAndPostOrder(IVoucherService voucherService)
        {
            var createVoucher = new CreateVoucherDTO
            {
                vouchertypeId  = Properties.Settings.Default.VoucherTypeId,
                maxRedemptions = 0,
                firstName      = _customerDetailViewModel.FirstName,
                lastName       = _customerDetailViewModel.SecondName,
                email          = _customerDetailViewModel.Email
            };

            foreach (var itemLine in _cart.Lines)
            {
                var attribute = new AttributeDTO
                {
                    attributeId = itemLine.Experience.Code,
                    value       = itemLine.Quantity.ToString(),
                };
                createVoucher.attributes.Add(attribute);
            }

            var voucherDetail = voucherService.CreateVoucher(createVoucher).Result;

            _cart.Clear();

            var model = new VoucherDetailViewModel
            {
                VoucherToken       = voucherDetail.voucherToken,
                VoucherDescription = voucherDetail.voucherDescription,
                Name = voucherDetail.name,
                VoucherPurchasedOn = voucherDetail.voucherPurchasedOn,
                UsedOn             = voucherDetail.usedOn
            };

            _voucherDetailViewModel = null;
            _voucherDetailViewModel = model;
        }