public void TestDeliverInvoice() { DeliverOrderEuRequest request = null; Assert.DoesNotThrow(() => { request = _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddDiscount(Item.FixedDiscount() .SetAmountIncVat(10)) .SetInvoiceDistributionType(InvoiceDistributionType.POST) .SetOrderId(54086L) .SetNumberOfCreditDays(1) .SetCreditInvoice(117L) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DeliverInvoiceOrder() .PrepareRequest(); } ); //First order row is a product var invoiceDetails = request.DeliverOrderInformation.DeliverInvoiceDetails; var firstOrderRow = invoiceDetails.OrderRows[0]; // First row Assert.That(firstOrderRow.ArticleNumber, Is.EqualTo("1")); Assert.That(firstOrderRow.Description, Is.EqualTo("Prod: Specification")); Assert.That(firstOrderRow.PricePerUnit, Is.EqualTo(100.00M)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].NumberOfUnits, Is.EqualTo(2)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].Unit, Is.EqualTo("st")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].VatPercent, Is.EqualTo(25)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].DiscountPercent, Is.EqualTo(0)); //Second order row is shipment Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].ArticleNumber, Is.EqualTo("33")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Description, Is.EqualTo("shipping: Specification")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].PricePerUnit, Is.EqualTo(50)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Unit, Is.EqualTo("st")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].VatPercent, Is.EqualTo(25)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].DiscountPercent, Is.EqualTo(0)); //discount Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[2].PricePerUnit, Is.EqualTo(-8.0)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.NumberOfCreditDays, Is.EqualTo(1)); Assert.That(invoiceDetails.InvoiceDistributionType, Is.EqualTo(WebpayWS.InvoiceDistributionType.Post)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.IsCreditInvoice, Is.True); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.InvoiceIdToCredit, Is.EqualTo(117L)); Assert.That(request.DeliverOrderInformation.SveaOrderId, Is.EqualTo(54086L)); Assert.That(request.DeliverOrderInformation.OrderType, Is.EqualTo(OrderType.Invoice)); }
public void TestDeliverPaymentPlanOrder() { DeliverOrderEuRequest request = _order .SetOrderId(54086L) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DeliverPaymentPlanOrder() .PrepareRequest(); Assert.That(request.DeliverOrderInformation.SveaOrderId, Is.EqualTo(54086L)); Assert.That(request.DeliverOrderInformation.OrderType, Is.EqualTo(OrderType.PaymentPlan)); }
public void test_deliverOrder_deliverInvoiceOrder_with_order_rows_goes_against_DeliverOrderEU() { var fakeSveaOrderId = 987654; DeliverOrderEuRequest request = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .SetOrderId(fakeSveaOrderId) .SetCountryCode(CountryCode.SE) .SetInvoiceDistributionType(DistributionType.POST) .DeliverInvoiceOrder() .PrepareRequest() ; Assert.IsInstanceOf <DeliverOrderEuRequest>(request); }
private async Task <DeliverOrderEuResponse> DoRequestInternal(DeliverOrderEuRequest request) { _soapsc = new ServiceSoapClient(new BasicHttpBinding { Name = "ServiceSoap", //Security = new BasicHttpSecurity // { // Mode = BasicHttpSecurityMode.Transport // } }, new EndpointAddress( _order.GetConfig() .GetEndPoint(_order.GetOrderType() == CONST.OrderType.INVOICE ? PaymentType.INVOICE : PaymentType.PAYMENTPLAN))); var deliverOrderEuResponse = await _soapsc.DeliverOrderEuAsync(request); return(deliverOrderEuResponse); }
private DeliverOrderEuResponse DoRequestInternal(DeliverOrderEuRequest request) { _soapsc = new ServiceSoapClient(new BasicHttpBinding { Name = "ServiceSoap", Security = new BasicHttpSecurity { Mode = BasicHttpSecurityMode.Transport } }, new EndpointAddress( _order.GetConfig() .GetEndPoint(_order.GetOrderType() == OrderType.INVOICE ? PaymentType.INVOICE : PaymentType.PAYMENTPLAN))) ; var deliverOrderEuResponse = _soapsc.DeliverOrderEu(request); return(deliverOrderEuResponse); }
private DeliverOrderEuRequest PrepareRequestInternal(bool useIncVatRequestIfPossible) { var errors = ValidateOrder(); if (errors.Length > 0) { throw new SveaWebPayValidationException(errors); } var formatter = new WebServiceRowFormatter <DeliverOrderBuilder>(_order, useIncVatRequestIfPossible); DeliverInvoiceDetails deliverInvoiceDetails = null; if (_order.GetOrderType() == CONST.OrderType.INVOICE) { deliverInvoiceDetails = new DeliverInvoiceDetails { InvoiceDistributionType = ConvertInvoiceDistributionType(_order.GetInvoiceDistributionType()), InvoiceIdToCredit = _order.GetCreditInvoice(), IsCreditInvoice = _order.GetCreditInvoice().HasValue, NumberOfCreditDays = _order.GetNumberOfCreditDays(), OrderRows = formatter.FormatRows().ToArray() }; } _orderInformation = new DeliverOrderInformation { DeliverInvoiceDetails = deliverInvoiceDetails, OrderType = ConvertOrderType(_order.GetOrderType()), SveaOrderId = _order.GetOrderId() }; _sveaDeliverOrder = new DeliverOrderEuRequest { Auth = GetStoreAuthorization(), DeliverOrderInformation = _orderInformation }; return(_sveaDeliverOrder); }
/// <summary> /// PrepareRequest /// </summary> /// <exception cref="SveaWebPayValidationException"></exception> /// <returns>SveaRequest</returns> public DeliverOrderEuRequest PrepareRequest() { var errors = ValidateOrder(); if (errors.Length > 0) { throw new SveaWebPayValidationException(errors); } var formatter = new WebServiceRowFormatter<DeliverOrderBuilder>(_order); DeliverInvoiceDetails deliverInvoiceDetails = null; if (_order.GetOrderType() == OrderType.INVOICE) { deliverInvoiceDetails = new DeliverInvoiceDetails { InvoiceDistributionType = ConvertInvoiceDistributionType(_order.GetInvoiceDistributionType()), InvoiceIdToCredit = _order.GetCreditInvoice(), IsCreditInvoice = _order.GetCreditInvoice().HasValue, NumberOfCreditDays = _order.GetNumberOfCreditDays(), OrderRows = formatter.FormatRows().ToArray() }; } _orderInformation = new DeliverOrderInformation { DeliverInvoiceDetails = deliverInvoiceDetails, OrderType = ConvertOrderType(_order.GetOrderType()), SveaOrderId = _order.GetOrderId() }; _sveaDeliverOrder = new DeliverOrderEuRequest { Auth = GetStoreAuthorization(), DeliverOrderInformation = _orderInformation }; return _sveaDeliverOrder; }