示例#1
0
        public void QueryUserEditArea(OrderManager manager, List <Order> orders, int index)
        {
            bool divider = false;

            orders[index].DynamicDisplayFormat();
            Instructions.EditingInstructions();
            Prompt.PressKeyToContinue();

            while (!divider)
            {
                string          area         = Query.GetAreaFromUser();
                GetAreaResponse areaResponse = new GetAreaResponse();
                areaResponse = manager.AssignArea(area, FunctionType.EditOrder);
                if (areaResponse.Success)
                {
                    if (areaResponse.Edited)
                    {
                        orders[index].CalculateOrderValues(orders[index].CustomerName, areaResponse.Area, orders[index].Product, orders[index].Taxes);
                        divider = true;
                    }
                    else
                    {
                        divider = true;
                    }
                }
                else
                {
                    Alert.AlertUserInvalidInput(areaResponse);
                }
            }
        }
示例#2
0
        public Order CreateNewOrder()
        {
            OrderManager manager  = OrderManagerFactory.Create();
            Order        newOrder = new Order();

            bool   validName = false;
            string finalName = null;

            while (!validName)
            {
                string          name     = Query.GetNameFromUser();
                GetNameResponse response = new GetNameResponse();
                response = manager.AssignCustomerName(name, FunctionType.AddOrder);
                if (response.Success)
                {
                    finalName = response.Name;
                    validName = true;
                }
                else
                {
                    Alert.AlertUserInvalidInput(response);
                }
            }

            bool  validState = false;
            Taxes finalTaxes = null;

            while (!validState)
            {
                string           state    = Query.GetTaxesFromUser();
                GetTaxesResponse response = new GetTaxesResponse();
                response = manager.AssignTaxInfo(state, FunctionType.AddOrder);
                if (response.Success)
                {
                    finalTaxes = response.Taxes;
                    validState = true;
                }
                else
                {
                    Alert.AlertUserInvalidInput(response);
                }
            }

            bool    validProduct = false;
            Product finalProduct = null;

            while (!validProduct)
            {
                string             product  = Query.GetProductFromUser();
                GetProductResponse response = new GetProductResponse();
                response = manager.AssignProductInfo(product, FunctionType.AddOrder);
                if (response.Success)
                {
                    finalProduct = response.Product;
                    validProduct = true;
                }
                else
                {
                    Alert.AlertUserInvalidInput(response);
                }
            }

            bool    validArea = false;
            decimal finalArea = decimal.MinValue;

            while (!validArea)
            {
                string          area     = Query.GetAreaFromUser();
                GetAreaResponse response = new GetAreaResponse();
                response = manager.AssignArea(area, FunctionType.AddOrder);
                if (response.Success)
                {
                    finalArea = response.Area;
                    validArea = true;
                }
                else
                {
                    Alert.AlertUserInvalidInput(response);
                }
            }

            newOrder.CalculateOrderValues(finalName, finalArea, finalProduct, finalTaxes);

            return(newOrder);
        }