static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); string input = string.Empty; string name = string.Empty; string price = string.Empty; string producer = string.Empty; ShoppingCenter center = new ShoppingCenter(); for (int line = 0; line < n; line++) { input = Console.ReadLine(); List <string> arguments = input.Split(' ').ToList(); string command = arguments[0]; arguments.RemoveAt(0); string data = string.Join(" ", arguments); switch (command) { case "AddProduct": string[] argsToPass = data.Split(';'); center.Add(argsToPass[0], argsToPass[1], argsToPass[2]); break; case "FindProductsByName": center.FindProductsByName(data); break; case "FindProductsByProducer": center.FindProductsByProducer(data); break; case "DeleteProducts": argsToPass = data.Split(';'); if (argsToPass.Length == 1) { center.DeleteProducts(argsToPass[0]); } else { center.DeleteProducts(argsToPass[0], argsToPass[1]); } break; case "FindProductsByPriceRange": argsToPass = data.Split(';'); center.FindProductsByPriceRange(argsToPass[0], argsToPass[1]); break; } } Console.ReadLine(); }
private string ProcessCommand(string input) { int spaceIndex = input.IndexOf(' '); string command = input.Substring(0, spaceIndex); string[] data = input.Substring(spaceIndex + 1).Split(';'); string producer = ""; string name = ""; decimal price = 0M; string result = ""; switch (command) { case "AddProduct": name = data[0]; price = decimal.Parse(data[1]); producer = data[2]; result = shoppingCenter.AddProduct(name, price, producer); break; case "DeleteProducts": if (data.Length == 1) { producer = data[0]; result = shoppingCenter.DeleteProducts(producer); } else { producer = data[1]; name = data[0]; result = shoppingCenter.DeleteProducts(name, producer); } break; case "FindProductsByName": name = data[0]; result = shoppingCenter.FindProductsByName(name); break; case "FindProductsByProducer": producer = data[0]; result = shoppingCenter.FindProductsByProducer(producer); break; case "FindProductsByPriceRange": decimal startPrice = decimal.Parse(data[0]); decimal endPrice = decimal.Parse(data[1]); result = shoppingCenter.FindProductsByPriceRange(startPrice, endPrice); break; } return(result); }
public static void Main() { var center = new ShoppingCenter(); int n = int.Parse(Console.ReadLine()); var result = new StringBuilder(); for (int i = 0; i < n; i++) { var line = Console.ReadLine().Split(' ').ToList(); var commandName = line[0]; line.RemoveAt(0); var args = string.Join(" ", line).Split(';'); if (commandName == "AddProduct") { result.AppendLine(center.Add(args[0], decimal.Parse(args[1]), args[2])); } else if (commandName == "DeleteProducts") { if (args.Length == 2) { result.AppendLine(center.DeleteProducts(args[0], args[1])); } else { result.AppendLine(center.DeleteProducts(args[0])); } } else if (commandName == "FindProductsByName") { result.AppendLine(center.FindProductsByName(args[0])); } else if (commandName == "FindProductsByPriceRange") { result.AppendLine(center.FindProductsByPriceRange(decimal.Parse(args[0]), decimal.Parse(args[1]))); } else if (commandName == "FindProductsByProducer") { result.AppendLine(center.FindProductsByProducer(args[0])); } } Console.WriteLine(result.ToString().Trim()); }
static void Main(string[] args) { int totalCommands = int.Parse(Console.ReadLine()); var shoppingCenter = new ShoppingCenter(); for (int i = 0; i < totalCommands; i++) { string[] commandLine = Console.ReadLine().Split(new char[] { ' ' }, 2); string[] parameters = commandLine[1].Split(';'); switch (commandLine[0]) { case "AddProduct": { shoppingCenter.AddProduct(new Product( name: parameters[0], price: double.Parse(parameters[1]), producer: parameters[2]) ); result.AppendLine("Product added"); break; } case "DeleteProducts": { int deletedCount = 0; switch (parameters.Length) { case 1: { deletedCount = shoppingCenter.DeleteProducts(parameters[0]); break; } case 2: { deletedCount = shoppingCenter.DeleteProducts(parameters[0], parameters[1]); break; } default: throw new ArgumentException("Invalid Delete Parameters"); } if (deletedCount == 0) { result.AppendLine("No products found"); break; } result.AppendLine(string.Format("{0} products deleted", deletedCount)); break; } case "FindProductsByName": { PrintProducts(shoppingCenter.FindProductsByName(parameters[0])); break; } case "FindProductsByPriceRange": { PrintProducts(shoppingCenter.FindProductsByPriceRange( min: double.Parse(parameters[0]), max: double.Parse(parameters[1]))); break; } case "FindProductsByProducer": { PrintProducts(shoppingCenter.FindProductsByProducer(parameters[0])); break; } default: throw new ArgumentException("Invalid command!"); } } Console.WriteLine(result.ToString().Trim()); }