private static string ValidateCountry(DeliverOrderBuilder order) { return order.GetCountryCode() == CountryCode.NONE || !Enum.IsDefined(typeof (CountryCode), order.GetCountryCode()) ? "MISSING VALUE - CountryCode is required, use SetCountryCode(...)." : ""; }
private static string ValidateOrderType(DeliverOrderBuilder order) { return order.GetOrderType() == OrderType.NONE || !Enum.IsDefined(typeof (OrderType), order.GetOrderType()) ? "MISSING VALUE - OrderType is missing for DeliverOrder, use SetOrderType()." : ""; }
private static string ValidateCountry(DeliverOrderBuilder order) { return(order.GetCountryCode() == CountryCode.NONE || !Enum.IsDefined(typeof(CountryCode), order.GetCountryCode()) ? "MISSING VALUE - CountryCode is required, use SetCountryCode(...)." : ""); }
private static string ValidateOrderType(DeliverOrderBuilder order) { return(order.GetOrderType() == OrderType.NONE || !Enum.IsDefined(typeof(OrderType), order.GetOrderType()) ? "MISSING VALUE - OrderType is missing for DeliverOrder, use SetOrderType()." : ""); }
private static string ValidateInvoiceDetails(DeliverOrderBuilder order) { if (order.GetOrderId() > 0 && order.GetOrderType() == OrderType.INVOICE && (order.GetInvoiceDistributionType() == InvoiceDistributionType.NONE || !Enum.IsDefined(typeof(InvoiceDistributionType), order.GetInvoiceDistributionType()))) { return("MISSING VALUE - SetInvoiceDistributionType is required for DeliverInvoiceOrder."); } return(""); }
private static string ValidateInvoiceDetails(DeliverOrderBuilder order) { if (order.GetOrderId() > 0 && order.GetOrderType() == OrderType.INVOICE && (order.GetInvoiceDistributionType() == InvoiceDistributionType.NONE || !Enum.IsDefined(typeof (InvoiceDistributionType), order.GetInvoiceDistributionType()))) { return "MISSING VALUE - SetInvoiceDistributionType is required for DeliverInvoiceOrder."; } return ""; }
private static string ValidateOrderRows(DeliverOrderBuilder order) { var rowCount = order.GetOrderRows().Count + order.GetShippingFeeRows().Count + order.GetInvoiceFeeRows().Count; if (order.GetOrderType() == OrderType.INVOICE && rowCount == 0) { return "MISSING VALUE - No order or fee has been included. Use AddOrder(...) or AddFee(...)."; } return ""; }
private static string ValidateOrderRows(DeliverOrderBuilder order) { var rowCount = order.GetOrderRows().Count + order.GetShippingFeeRows().Count + order.GetInvoiceFeeRows().Count; if (order.GetOrderType() == OrderType.INVOICE && rowCount == 0) { return("MISSING VALUE - No order or fee has been included. Use AddOrder(...) or AddFee(...)."); } return(""); }
[Test] public void Test_DeliverOrder_DeliverPaymentPlanOrder_IgnoresOrderRows() { // create order var order = TestingTool.CreatePaymentPlanOrderWithTwoOrderRows(); // deliver first order row and assert the response DeliverOrderBuilder builder = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .SetOrderId(order.CreateOrderResult.SveaOrderId) .SetCountryCode(TestingTool.DefaultTestCountryCode) //.AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) ; var delivery = builder.DeliverPaymentPlanOrder().DoRequest(); Assert.IsTrue(delivery.Accepted); Assert.That(delivery.DeliverOrderResult.Amount, Is.EqualTo(5000.00M)); // 1000ex@25%*2st *2row }
public void TestIncorrectPaymentOnDeliverOrderWithEInvoiceB2B() { const string expectedMessage = "NOT VALID - Invalid payment method, DistributionType.EINVOICEB2B can only be used when payment method is invoice."; DeliverOrderBuilder order = new DeliverOrderBuilder(SveaConfig.GetDefaultConfig()); var exception = Assert.Throws <SveaWebPayValidationException>( () => order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddDiscount(Item.FixedDiscount() .SetAmountIncVat(10)) .SetInvoiceDistributionType(DistributionType.EINVOICEB2B) .SetOrderId(54086L) .SetCountryCode(CountryCode.NO) .DeliverPaymentPlanOrder() .PrepareRequest()); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public static string Validate(DeliverOrderBuilder order) { var stringBuilder = new StringBuilder(); var list = new List<string> { ValidateCountry(order), ValidateOrderType(order), ValidateOrderId(order), ValidateInvoiceDetails(order), ValidateOrderRows(order), }; foreach (var line in list.Where(line => !string.IsNullOrWhiteSpace(line))) { stringBuilder.AppendLine(line); } return stringBuilder.ToString().Trim(); }
[Test] public void Test_DeliverOrder_DeliverInvoiceOrder_WithOneIdenticalRows() { // create order var order = TestingTool.CreateInvoiceOrderWithTwoOrderRows(); // deliver first order row and assert the response DeliverOrderBuilder builder = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .SetOrderId(order.CreateOrderResult.SveaOrderId) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetInvoiceDistributionType(DistributionType.POST) .SetNumberOfCreditDays(30) .SetCaptureDate(DateTime.Now) //.AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) ; var delivery = builder.DeliverInvoiceOrder().DoRequest(); Assert.IsTrue(delivery.Accepted); Assert.That(delivery.DeliverOrderResult.Amount, Is.EqualTo(250.00M)); // 100ex@25%*2st *1row }
public static string Validate(DeliverOrderBuilder order) { var stringBuilder = new StringBuilder(); var list = new List <string> { ValidateCountry(order), ValidateOrderType(order), ValidateOrderId(order), ValidateInvoiceDetails(order), ValidateOrderRows(order), }; foreach (var line in list.Where(line => !string.IsNullOrWhiteSpace(line))) { stringBuilder.AppendLine(line); } return(stringBuilder.ToString().Trim()); }
private static string ValidateInvoiceDetails(DeliverOrderBuilder order) { string errors = ""; if (order.GetOrderId() > 0 && order.GetOrderType() == OrderType.INVOICE && (order.GetInvoiceDistributionType() == DistributionType.NONE || !Enum.IsDefined(typeof(DistributionType), order.GetInvoiceDistributionType()))) { errors += "MISSING VALUE - SetInvoiceDistributionType is required for DeliverInvoiceOrder.\n"; } if (order.GetInvoiceDistributionType() == DistributionType.EINVOICEB2B && order.GetCountryCode() != CountryCode.NO) { errors += "NOT VALID - Invalid country code, must be CountryCode.NO if InvoiceDistributionType is DistributionType.EInvoiceB2B.\n"; } if (order.GetInvoiceDistributionType() == DistributionType.EINVOICEB2B && order.GetOrderType() == OrderType.PAYMENTPLAN) { errors += "NOT VALID - Invalid payment method, DistributionType.EINVOICEB2B can only be used when payment method is invoice.\n"; } return(errors); }
public HandleOrder(DeliverOrderBuilder orderBuilder) { _order = orderBuilder; }
public DeliverPaymentPlan(DeliverOrderBuilder orderBuilder) : base(orderBuilder) { }
private static string ValidateOrderId(DeliverOrderBuilder order) { return order.GetOrderId() <= 0 ? "MISSING VALUE - SetOrderId is required." : ""; }
public void SetUp() { _order = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()); }
public void TestBuildRequest() { DeliverOrderBuilder request = _order.SetOrderId(54086L); Assert.That(request.GetOrderId(), Is.EqualTo(54086L)); }
public DeliverInvoice(DeliverOrderBuilder orderBuilder) : base(orderBuilder) { }
private static string ValidateOrderId(DeliverOrderBuilder order) { return(order.GetOrderId() <= 0 ? "MISSING VALUE - SetOrderId is required." : ""); }