public GetNameResponse GetName(string name)
        {
            GetNameResponse response = new GetNameResponse();

            if (name.Length == 0)
            {
                response.Success = false;
                response.Message = "The name for the order cannot be blank.";
                return(response);
            }
            else
            {
                char[] reader = new char[name.Length];

                for (int i = 0; i < name.Length; i++)
                {
                    reader[i] = char.Parse(name.Substring(i, 1));
                    if (reader[i] < '0' && reader[i] > '9' &&
                        reader[i] < 'A' && reader[i] > 'Z' &&
                        reader[i] < 'a' && reader[i] > 'z' &&
                        reader[i] != '.')
                    {
                        response.Success = false;
                        response.Message = "The name can only contain characters a-z, A-Z, 0-9, and periods.";
                        return(response);
                    }
                }
                response.Name    = name;
                response.Success = true;
                return(response);
            }
        }
Example #2
0
        public void QueryUserEditName(OrderManager manager, List <Order> orders, int index)
        {
            bool divider = false;

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

            while (!divider)
            {
                string          name         = Query.GetNameFromUser();
                GetNameResponse nameResponse = new GetNameResponse();
                nameResponse = manager.AssignCustomerName(name, FunctionType.EditOrder);
                if (nameResponse.Success)
                {
                    if (nameResponse.Edited)
                    {
                        orders[index].CalculateOrderValues(nameResponse.Name, orders[index].Area, orders[index].Product, orders[index].Taxes);
                        divider = true;
                    }
                    else
                    {
                        divider = true;
                    }
                }
                else
                {
                    Alert.AlertUserInvalidInput(nameResponse);
                }
            }
        }
Example #3
0
        public GetNameResponse AssignCustomerName(string name, FunctionType type)
        {
            GetNameResponse response = new GetNameResponse();

            IGetName getName = GetNameRuleFactory.Create(type);

            response = getName.GetName(name);

            return(response);
        }
Example #4
0
        public string GetName()
        {
            GetNameResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.GetName(
                    new GetNameRequest {
                    Symbol = grpcSbSymbol
                });
            }))
            {
                return(response.Name);
            }
            return("");
        }
Example #5
0
        public string GetName()
        {
            var request = new GetNameRequest()
            {
                Thread = grpcSbThread
            };
            GetNameResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.GetName(request);
            }))
            {
                return(response.Name);
            }
            return("");
        }
        public SaveOrderResponse SaveOrder(Order order)
        {
            SaveOrderResponse finalResponse = new SaveOrderResponse();

            AddNameRule     nameRule     = new AddNameRule();
            GetNameResponse nameResponse = new GetNameResponse();

            nameResponse = nameRule.GetName(order.CustomerName);

            AddAreaRule     areaRule     = new AddAreaRule();
            GetAreaResponse areaResponse = new GetAreaResponse();

            areaResponse = areaRule.GetArea(order.Area.ToString());

            AddProductRule     productRule     = new AddProductRule();
            GetProductResponse productResponse = new GetProductResponse();

            productResponse = productRule.GetProduct(order.ProductType);

            AddTaxesRule     taxesRule     = new AddTaxesRule();
            GetTaxesResponse taxesResponse = new GetTaxesResponse();

            taxesResponse = taxesRule.GetTaxes(order.State);

            finalResponse.NameIsOkay    = nameResponse.Success;
            finalResponse.AreaIsOkay    = areaResponse.Success;
            finalResponse.ProductIsOkay = productResponse.Success;
            finalResponse.TaxIsOkay     = taxesResponse.Success;

            if (finalResponse.NameIsOkay && finalResponse.AreaIsOkay && finalResponse.ProductIsOkay && finalResponse.TaxIsOkay)
            {
                finalResponse.EverythingIsAlright = true;
            }
            else
            {
                finalResponse.EverythingIsAlright = false;
            }

            return(finalResponse);
        }
Example #7
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);
        }