internal DeliveryTestBase() { var parser = new StreetSpecificationParser(); var factory = new DeliveryFactory(); var fileResult = parser.ParseStreetSpecification("..\\..\\SpecificationExamples\\street1.txt"); DeliveryMethod = factory.CreateDeliveryMethod <T>(fileResult.StreetSpecification); }
/// <summary> /// Selects a Customer and sends the company info to the calling form /// </summary> private void SelectCustomerButton_Click(object sender, EventArgs e) { if (CustomersListBox.SelectedItem != null) { deliveryMethod = (CustomerModel)CustomersListBox.SelectedItem; callingForm.DeliveryMethodSelectionComplete(deliveryMethod); this.Close(); } }
private static void PrintDeliveryPlan(IDeliveryMethod plan) { Console.WriteLine(); Console.WriteLine("The delivery will be done in the following order:"); Console.WriteLine(String.Join(", ", plan.HouseNumbers)); Console.WriteLine("It will require the paper boy/girl to cross the street {0} time(s).", plan.NumberOfCrossings); PlanDelivery(); }
static void Main(string[] args) { for (int i = 0; i < 7; i++) { object product = $"Product {i}"; IDeliveryMethod deliveryMethod = MatchDeliveryMethod.GetDeliveryMethod(product); IDeliveryItem deliveryItem = deliveryMethod.GetDeliveryItem(product); deliveryItem.StartDelivering(); Console.WriteLine($"{deliveryItem.Product.ToString()} : {deliveryItem.Status}"); } }
/// <summary> /// Creates a new Sales Order model /// </summary> public void CreateNewOrder(TableModel newOrderTable, IDeliveryMethod newOrderDeliveryAdress) { if (newOrderTable != null || newOrderDeliveryAdress != null) { SalesOrderModel newSalesOrder = new SalesOrderModel { Status = OrderStatus.Active }; InitializeNewSalesOrderDeliveryMethod(newSalesOrder, newOrderTable, newOrderDeliveryAdress); if (newSalesOrder.Name != null) { GlobalConfig.Connection.CreateSalesOrder(newSalesOrder); } } }
/// <summary> /// Initializes the delivery method for a new Sales Order /// </summary> public void InitializeNewSalesOrderDeliveryMethod(SalesOrderModel newSalesOrder, TableModel newOrderTable, IDeliveryMethod newOrderDeliveryAdress) { if (newOrderTable != null && newOrderDeliveryAdress == null) { newSalesOrder.TableId = newOrderTable.Id; newSalesOrder.Name = newOrderTable.Name; } if (newOrderTable == null && newOrderDeliveryAdress != null) { if (newOrderDeliveryAdress.GetType() == typeof(CompanyModel)) { newSalesOrder.CompanyId = newOrderDeliveryAdress.Id; newSalesOrder.Name = newOrderDeliveryAdress.Name; } else { newSalesOrder.CustomerId = newOrderDeliveryAdress.Id; newSalesOrder.Name = newOrderDeliveryAdress.Name; } } }
///method is not depend on DelieveryMethod anymore ///by using method dependency injection public void SetDeliveryMethod(IDeliveryMethod del) { deliveryType = del.Type; }
public IOpeningSet WithBehaviour(IDeliveryMethod deliveryMethod) { quote.speechPattern = deliveryMethod == null ? new MisinformedApparatchikDeliveryMethod() : deliveryMethod; return(this); }