public override string Validate(CreateOrderBuilder order) { if (order.GetCustomerIdentity() == null) { Errors += "MISSING VALUE - CustomerIdentity must be set.\n"; } var identityValidator = new IdentityValidator(); switch (order.GetCountryCode()) { case CountryCode.NONE: Errors += "MISSING VALUE - CountryCode is required. Use SetCountryCode().\n"; break; case CountryCode.FI: case CountryCode.DK: case CountryCode.NO: case CountryCode.SE: Errors += identityValidator.ValidateNordicIdentity(order); break; case CountryCode.DE: Errors += identityValidator.ValidateDeIdentity(order); break; case CountryCode.NL: Errors += identityValidator.ValidateNlIdentity(order); break; default: Errors += "NOT VALID - Given countrycode does not exist in our system.\n"; break; } ValidateRequiredFieldsForOrder(order); ValidateOrderRow(order); if (order.GetOrderDate() == DateTime.MinValue) { Errors += "MISSING VALUE - OrderDate is required. Use SetOrderDate().\n"; } if (!String.IsNullOrEmpty(order.GetPeppolId())) { Errors += ValidatePeppolId(order); } return(Errors); }
public override string Validate(CreateOrderBuilder order) { if (order.GetCustomerIdentity() == null) { Errors += "MISSING VALUE - CustomerIdentity must be set.\n"; } var identityValidator = new IdentityValidator(); switch (order.GetCountryCode()) { case CountryCode.NONE: Errors += "MISSING VALUE - CountryCode is required. Use SetCountryCode().\n"; break; case CountryCode.FI: case CountryCode.DK: case CountryCode.NO: case CountryCode.SE: Errors += identityValidator.ValidateNordicIdentity(order); break; case CountryCode.DE: Errors += identityValidator.ValidateDeIdentity(order); break; case CountryCode.NL: Errors += identityValidator.ValidateNlIdentity(order); break; default: Errors += "NOT VALID - Given countrycode does not exist in our system.\n"; break; } ValidateRequiredFieldsForOrder(order); ValidateOrderRow(order); if (order.GetOrderDate() == DateTime.MinValue) { Errors += "MISSING VALUE - OrderDate is required. Use SetOrderDate().\n"; } return Errors; }
/// <summary> /// PrepareRequest /// </summary> /// <exception cref="SveaWebPayValidationException"></exception> /// <returns>CreateOrderEuRequest</returns> public CreateOrderEuRequest PrepareRequest() { var errors = ValidateOrder(); if (errors.Length > 0) { throw new SveaWebPayValidationException(errors); } var sveaOrder = new CreateOrderEuRequest { Auth = GetPasswordBasedAuthorization() }; var formatter = new WebServiceRowFormatter <CreateOrderBuilder>(CrOrderBuilder); List <OrderRow> formattedOrderRows = formatter.FormatRows(); // make order rows and put in CreateOrderInformation OrderInfo = new CreateOrderInformation { CustomerIdentity = CrOrderBuilder.GetSoapPurifiedCustomer(), ClientOrderNumber = CrOrderBuilder.GetClientOrderNumber(), CreatePaymentPlanDetails = CrOrderBuilder.GetCampaignCode() != null ? new CreatePaymentPlanDetails { CampaignCode = CrOrderBuilder.GetCampaignCode(), SendAutomaticGiroPaymentForm = CrOrderBuilder.GetSendAutomaticGiroPaymentForm() } : null, OrderDate = CrOrderBuilder.GetOrderDate(), CustomerReference = CrOrderBuilder.GetCustomerReference(), OrderRows = formattedOrderRows.ToArray(), PeppolId = CrOrderBuilder.GetPeppolId() }; sveaOrder.CreateOrderInformation = SetOrderType(OrderInfo); return(sveaOrder); }
public void TestBuildOrderWithOrderDate() { _order.SetOrderDate(TestingTool.DefaultTestDate); Assert.That(_order.GetOrderDate(), Is.EqualTo(TestingTool.DefaultTestDate)); }