public void Execute(params string[] parameters) { if (parameters.Length != 0) { Console.WriteLine("Команда не принимает параметры"); return; } List <Commodity> products = ReadingFile(@"..\..\Text.txt"); foreach (var i in products) { var k = _necessaryProducts.IndexOf(i); if (k[2] != -1) { _necessaryProducts.RemoveAt(k); } } _availabilityProducts.AddRange(products); if (_necessaryProducts.Date != null) { _consumptionProducts.UpdateAmountDays(_date, _necessaryProducts.Date); } _necessaryProducts.Date = _date; foreach (var i in products) { _consumptionProducts.Add(i.Product, _date); } }
public void Execute(params string[] parameters) { if (parameters.Length < 2) { Console.WriteLine("Количество параметров должно быть не менее двух"); return; } int indexWeight = parameters.Length - 1; parameters[indexWeight] = parameters[indexWeight].Replace(".", ","); string[] name = new string[indexWeight]; Array.Copy(parameters, name, indexWeight); string nameProduct = string.Join(" ", name); if (float.TryParse(parameters[indexWeight], out float weight)) { try { var product = new Commodity(nameProduct, weight, DateTime.Today); _necessaryProducts.Add(product); var id = _availabilityProducts.IndexOf(product); if (id[2] != -1) { Console.WriteLine($"Удалить [{ product.ToString() }] из списка доступных продуктов(Y/)"); var cmd = Console.ReadLine(); if (cmd == "Y" || cmd == "y") { _availabilityProducts.RemoveAt(id); } } } catch (ArgumentException e) { Console.WriteLine(e.Message); Console.WriteLine("Чтобы добавить продукт в базу воспользуйтесь командой [add-product]"); return; } } else { Console.WriteLine($"Вес продукта [{parameters[indexWeight]}] введен некорректно"); return; } }
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; }
public void Execute(params string[] parameters) { if (parameters.Length < 2) { Console.WriteLine("Количество параметров должно быть не менее двух"); return; } int indexWeight = parameters.Length - 1; DateTime dateOfPurchase; try { if (DateAvailability(parameters[parameters.Length - 1], out DateTime date)) { dateOfPurchase = date; indexWeight--; } else { dateOfPurchase = date; } } catch (ArgumentException e) { Console.WriteLine(e.Message); Console.WriteLine(Description); Console.WriteLine("Добавить продукт с текущей датой(Y/)"); string cmd = Console.ReadLine(); if (cmd != "Y" && cmd != "y") { return; } dateOfPurchase = DateTime.Today; } parameters[indexWeight] = parameters[indexWeight].Replace(".", ","); string[] name = new string[indexWeight]; Array.Copy(parameters, name, indexWeight); string nameProduct = string.Join(" ", name); if (float.TryParse(parameters[indexWeight], out float a)) { try { var product = new Commodity(nameProduct, a, dateOfPurchase); _availabilityProducts.Add(product); var id = _necessaryProducts.IndexOf(product); if (id[2] != -1) { Console.WriteLine($"Удалить [{ product.ToString() }] из списка необходимых продуктов(Y/)"); var cmd = Console.ReadLine(); if (cmd == "Y" || cmd == "y") { _necessaryProducts.RemoveAt(id); } } //_consumptionProducts.UpdateAmountDays(_necessaryProducts.Date); //_necessaryProducts.Date = DateTime.Today; _availabilityProducts.Date = DateTime.Today; _consumptionProducts.Add(product.Product, DateTime.Today); _availableRecipes.ProductСhanges = true; } catch (ArgumentException e) { Console.WriteLine(e.Message); Console.WriteLine("Чтобы добавить продукт в базу воспользуйтесь командой [add-product]"); return; } } else { Console.WriteLine($"Вес продукта [{parameters[indexWeight]}] введен некорректно"); return; } }