Esempio n. 1
0
        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();
     }
 }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
 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;
                }
            }
        }
Esempio n. 7
0
 ///method is not depend on DelieveryMethod anymore
 ///by using method dependency injection
 public void SetDeliveryMethod(IDeliveryMethod del)
 {
     deliveryType = del.Type;
 }
Esempio n. 8
0
 public IOpeningSet WithBehaviour(IDeliveryMethod deliveryMethod)
 {
     quote.speechPattern = deliveryMethod == null ? new MisinformedApparatchikDeliveryMethod() : deliveryMethod;
     return(this);
 }