Пример #1
0
        public async Task <DeliveryResponse> DoRequest()
        {
            var auth = new Authentication()
            {
                Password = _builder.GetConfig().GetPassword(_builder.OrderType, _builder.GetCountryCode()),
                Username = _builder.GetConfig().GetUsername(_builder.OrderType, _builder.GetCountryCode())
            };

            var request = new CreditInvoiceRequest
            {
                Authentication          = auth,
                InvoiceId               = _builder.Id,
                ClientId                = _builder.GetConfig().GetClientNumber(_builder.OrderType, _builder.GetCountryCode()),
                RowNumbers              = _builder.RowIndexesToCredit.ToArray(),
                InvoiceDistributionType = ConvertDistributionTypeToInvoiceDistributionType(_builder.DistributionType),
                NewCreditInvoiceRows    = _builder.NewCreditOrderRows.Select(x => ConvertOrderRowBuilderToAdminWSOrderRow(x)).ToArray()
            };

            // make request to correct endpoint, return response object
            var endpoint = _builder.GetConfig().GetEndPoint(PaymentType.ADMIN_TYPE);
            var adminWS  = new AdminServiceClient(AdminServiceClient.EndpointConfiguration.WcfAdminSoapService);// "WcfAdminSoapService", endpoint);
            var response = await adminWS.CreditInvoiceRowsAsync(request);

            return(response);
        }
Пример #2
0
        /// <summary>
        /// Credit an invoice row example.
        /// </summary>
        /// <returns></returns>
        static CreditInvoiceResponseType CreditInvoice()
        {
            int?ocrNumber = null;

            ocrNumber.ThrowIfNull("OCR number must be set!");
            var request = new CreditInvoiceRequest()
            {
                Request = new CreditInvoiceRequestType()
                {
                    IsInTestMode  = true,
                    PrintSetup    = PrintSetupType.EPdfPrint,
                    IsVatIncluded = 1,
                    Ocr           = ocrNumber.Value,
                    CreditRows    = new CreditRowsType()
                    {
                        new CreditRowType()
                        {
                            ArticleNumber = "666",
                            Vat           = 0,
                            Quantity      = 1,
                            Price         = 100
                        }
                    }
                }
            };

            Console.WriteLine("XML request: ");
            Console.WriteLine(XmlUtils.Serialize <CreditInvoiceRequest>(request));
            return(Client.CreditInvoice(request).Response);
        }
Пример #3
0
 /// <summary>
 /// Credits 1-N invoice rows with given amount.
 /// </summary>
 /// <param name="request"></param>
 public CreditInvoiceResponse CreditInvoice(CreditInvoiceRequest request)
 {
     return(SendRequest <CreditInvoiceRequest, CreditInvoiceResponse>(CreditInvoiceEndpointUrl, request));
 }