コード例 #1
0
        ApiVouchersUsageViewModel CreateVoucherTransaction(VoucherTransactionInfo inTransactionInfo)
        {
            var voucherUsageViewModel = new ApiVouchersUsageViewModel();

            voucherUsageViewModel.TransactionReferenceNumber = inTransactionInfo.TransactionReferenceNumber;
            Guid memberUniqueId = Guid.Empty;

            Guid.TryParse(inTransactionInfo.MemberUniqueId, out memberUniqueId);
            if (!string.IsNullOrWhiteSpace(inTransactionInfo.GiftCardNumber))
            {
                voucherUsageViewModel.GiftCard = new ApiGiftCardUsageRequestViewModel();
                voucherUsageViewModel.GiftCard.GiftCardNumber = inTransactionInfo.GiftCardNumber;
                voucherUsageViewModel.GiftCard.PointsRedeemed = inTransactionInfo.PointsRedeemed;
                voucherUsageViewModel.GiftCard.MemberUniqueId = memberUniqueId;
                if (memberUniqueId == Guid.Empty)
                {
                    voucherUsageViewModel.GiftCard.MemberUniqueId = null;
                }
                voucherUsageViewModel.GiftCard.SiteCode        = inTransactionInfo.SiteCode;
                voucherUsageViewModel.GiftCard.TotalSaleAmount = inTransactionInfo.TotalSaleAmount;
                voucherUsageViewModel.GiftCard.Date            = inTransactionInfo.TransactionDate;
                voucherUsageViewModel.GiftCard.InvoiceNumber   = inTransactionInfo.InvoiceNumber;
            }

            if (!string.IsNullOrWhiteSpace(inTransactionInfo.PocketVoucherNumber))
            {
                voucherUsageViewModel.PocketVoucher = new ApiPocketVoucherUsageRequestViewModel();
                voucherUsageViewModel.PocketVoucher.PocketVoucherNumber = inTransactionInfo.PocketVoucherNumber;
                voucherUsageViewModel.PocketVoucher.DiscountAmount      = inTransactionInfo.PocketVoucherDiscountAmount;
                voucherUsageViewModel.PocketVoucher.MemberUniqueId      = memberUniqueId;
                if (memberUniqueId == Guid.Empty)
                {
                    voucherUsageViewModel.PocketVoucher.MemberUniqueId = null;
                }
                voucherUsageViewModel.PocketVoucher.SiteCode        = inTransactionInfo.SiteCode;
                voucherUsageViewModel.PocketVoucher.TotalSaleAmount = inTransactionInfo.TotalSaleAmount;
                voucherUsageViewModel.PocketVoucher.Date            = inTransactionInfo.TransactionDate;
                voucherUsageViewModel.PocketVoucher.InvoiceNumber   = inTransactionInfo.InvoiceNumber;
            }

            if (!string.IsNullOrWhiteSpace(inTransactionInfo.VoucherName))
            {
                voucherUsageViewModel.Voucher                 = new ApiVoucherUsageRequestViewModel();
                voucherUsageViewModel.Voucher.VoucherName     = inTransactionInfo.VoucherName;
                voucherUsageViewModel.Voucher.DiscountAmount  = inTransactionInfo.MemberVoucherDiscountAmount;
                voucherUsageViewModel.Voucher.MemberUniqueId  = memberUniqueId;
                voucherUsageViewModel.Voucher.SiteCode        = inTransactionInfo.SiteCode;
                voucherUsageViewModel.Voucher.TotalSaleAmount = inTransactionInfo.TotalSaleAmount;
                voucherUsageViewModel.Voucher.Date            = inTransactionInfo.TransactionDate;
                voucherUsageViewModel.Voucher.InvoiceNumber   = inTransactionInfo.InvoiceNumber;
            }

            if (inTransactionInfo.DiscountUsages != null)
            {
                voucherUsageViewModel.Discounts = new List <ApiDiscountUsageRequestViewModel>();
                foreach (var item in inTransactionInfo.DiscountUsages)
                {
                    var discountusage = new ApiDiscountUsageRequestViewModel();
                    discountusage.Date           = inTransactionInfo.TransactionDate;
                    discountusage.DiscountAmount = item.DiscountAmount;
                    discountusage.DiscountCode   = item.DiscountCode;
                    discountusage.MemberUniqueId = memberUniqueId;
                    if (memberUniqueId == Guid.Empty)
                    {
                        discountusage.MemberUniqueId = null;
                    }
                    discountusage.SiteCode        = inTransactionInfo.SiteCode;
                    discountusage.TotalSaleAmount = inTransactionInfo.TotalSaleAmount;
                    discountusage.InvoiceNumber   = inTransactionInfo.InvoiceNumber;
                    voucherUsageViewModel.Discounts.Add(discountusage);
                }
            }
            return(voucherUsageViewModel);
        }
コード例 #2
0
ファイル: LoyaltymateService.cs プロジェクト: radtek/Pos
        public List <ApiProcessingResult> PostVoucherTransactions(string inSyndicateCode, ApiVouchersUsageViewModel voucherTransaction)
        {
            voucherTransaction.RequestTime = DateTime.Now;
            List <ApiProcessingResult> response = null;
            var request = Utility.WebUtility.CreateRequest(RequestAddress.ProcessVoucherTransaction, inSyndicateCode, null,
                                                           WebRequestMethods.Http.Post, voucherTransaction);
            HttpWebResponse webResponse = null;

            try
            {
                webResponse = (HttpWebResponse)request.GetResponse();
                var responseStream = new StreamReader(webResponse.GetResponseStream());
                response = JsonUtility.Deserialize <List <ApiProcessingResult> >(responseStream.ReadToEnd());
            }
            catch (WebException we)
            {
                webResponse = (HttpWebResponse)we.Response;
                HandleExceptions(webResponse);
            }
            finally
            {
                if (webResponse != null)
                {
                    webResponse.Close();
                }
            }
            return(response);
        }