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); }
/// <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); }
/// <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)); }