public void Execute(params string[] parameters) { if (parameters.Length != 2) { Console.WriteLine("Количество параметров должно быть равно двум"); return; } parameters[1] = parameters[1].Replace(".", ","); var levelsString = parameters[0].Split(':'); var levels = new int[levelsString.Length]; try { for (var k = 0; k < levelsString.Length; k++) { if (!int.TryParse(levelsString[k], out levels[k])) { throw new ArgumentException($"Формат идентификатора { parameters[0] } не верен"); } } } catch (ArgumentException e) { Console.WriteLine(e.Message); return; } if (float.TryParse(parameters[1], out float weight)) { try { _consumptionProducts.ChangeElement(_availabilityProducts.FindElement(levels).Product, _availabilityProducts.ChangeTo(levels, weight)); _availabilityProducts.Date = DateTime.Today; _availableRecipes.ProductСhanges = true; } catch (ArgumentOutOfRangeException) { Console.WriteLine($"Первое значение [{ levels[0] }] в идентификаторе находится за пределами допустимого диаппазона"); } catch (ArgumentException e) { Console.WriteLine(e.Message); } } else { Console.WriteLine($"Вес продукта [{ parameters[1] }] введен некорректно"); } }
public void Execute(params string[] parameters) { if (parameters.Length == 0) { Console.WriteLine("Количество параметров должно быть больше нуля"); return; } var args = new List <string>(); foreach (var i in parameters) { if (args.IndexOf(i) == -1) { args.Add(i); } } args.Sort(CompareDinosByLength); args.Reverse(); List <int[]> identifiers = new List <int[]>(); foreach (var i in args.Distinct()) { var levelsString = i.Split(':'); var levels = new int[levelsString.Length]; try { for (var k = 0; k < levelsString.Length; k++) { if (!int.TryParse(levelsString[k], out levels[k])) { throw new ArgumentException($"Формат идентификатора { i } не верен"); } } } catch (ArgumentException e) { Console.WriteLine(e.Message); Console.WriteLine("Он будет пропущен"); continue; } identifiers.Add(levels); } foreach (var i in identifiers) { try { var product = _availabilityProducts.FindElement(i); Console.WriteLine($"Добавить [Name: { product.ToString() }] в список необходимых продуктов"); var cmd = Console.ReadLine(); if (cmd == "Y" || cmd == "y") { _necessaryProducts.Add(product); } _consumptionProducts.ChangeElement(product.Product, product.Weight); _availabilityProducts.RemoveAt(i); } catch (ArgumentOutOfRangeException) { Console.WriteLine($"Первое значение [{ i[0] }] в идентификаторе находится за пределами допустимого диаппазона"); } catch (ArgumentException e) { Console.WriteLine(e.Message); Console.WriteLine("Он будет пропущен"); continue; } } _availabilityProducts.Date = DateTime.Today; _availableRecipes.ProductСhanges = true; }