Запись введенных данных в файл - C#
Формулировка задачи:
Нужно чтобы в файл дозаписывались данные согласно введенных пользователем значений в консоли.
У меня есть два поля: ID , Owner
Если пользователь выбирает в консольном меню 1, ему выдает "введите данные ID", Далее, пользователь вводит данные OWNER, на основании чего создается новая строка в файле. Если такой ID уже существует, то введенные данные OWNER (связанного с ID) перезаписываются
Вот не могу понять как это реализовать. Особенно в части перезаписи.
Решение задачи: «Запись введенных данных в файл»
textual
Листинг программы
- namespace ProductDatabase
- {
- class AddNewProductMenu
- {
- public static void Show()
- {
- Clear();
- WriteLine("\tДодавання товару");
- WriteLine("\n1. Додати товар");
- WriteLine("\n0. Повернутися до попереднього меню");
- Choose();
- }
- public static void Choose()
- {
- string choice = (ReadLine());
- Clear();
- switch (choice)
- {
- case "0":
- Back();
- break;
- case "1":
- AddProduct();
- break;
- default:
- AddProduct();
- break;
- }
- }
- public static void WriteAt(int x, int y)
- {
- try
- {
- Console.SetCursorPosition(x, y);
- }
- catch (ArgumentOutOfRangeException e)
- {
- Console.Clear();
- Console.WriteLine(e.Message);
- }
- }
- public static void AddProduct()
- {
- Title = "Меню додавання нового товару";
- ObjectToStringConverter display = new ObjectToStringConverter();
- WriteLine("Список категорій\n");
- var Category = display.CategoryListToText();
- foreach (var cat in Category)
- {
- Console.WriteLine(cat);
- }
- string CategoryID = null;
- int CatID;
- string ProductCategory = null;
- Write("\nВведіть ID категорії зі списку : ");
- try
- {
- CategoryID = (Console.ReadLine());
- bool valid = Validation.Id(CategoryID);
- if (valid == true)
- {
- CatID = Convert.ToInt32(CategoryID); ;
- ProductCategory = display.CategoryToText(CatID);
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- }
- }
- catch (NullReferenceException e)
- {
- Console.WriteLine(e.Message);
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- WriteLine("\nСписок виробників\n");
- var Manufacturer = display.ManufacturerListToText();
- foreach (var man in Manufacturer)
- {
- Console.WriteLine(man);
- }
- Write("\nВведіть ID виробника зі списку : ");
- string ManufacturerID = (Console.ReadLine());
- int ManID;
- string ProductManufacturer = null;
- try
- {
- bool valid = Validation.Id(ManufacturerID);
- if (valid == true)
- {
- ManID = Convert.ToInt32(ManufacturerID);
- ProductManufacturer = display.ManufacturerToText(ManID);
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- }
- }
- catch (NullReferenceException e)
- {
- Console.WriteLine(e.Message);
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть назву товару : ");
- string ProductName = null;
- try
- {
- ProductName = ReadLine();
- bool valid = Validation.ProductName(ProductName);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть дату виготовлення : 00.00.0000"); // потрібно буде привести приклад правильного формату
- WriteAt(28, 4);
- string ProductManufactureDate = null;
- try
- {
- ProductManufactureDate = ReadLine();
- bool valid = Validation.ProductionDate(ProductManufactureDate);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть гарантійний термін : ");
- string ProductWarranty = null;
- try
- {
- ProductWarranty = ReadLine();
- bool valid = Validation.ExpirationDateTxt(ProductWarranty);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0} років", ProductWarranty);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- WriteLine("\nСписок постачальників\n");
- var Suppliers = display.SuppliersListToTextShort();
- foreach (var sup in Suppliers)
- {
- Console.WriteLine(sup);
- }
- Write("\nВведіть ID постачальника зі списку : ");
- string SupplierId = null;
- int SupID;
- string ProductProvider = null;
- try
- {
- SupplierId = ReadLine();
- bool valid = Validation.Id(ManufacturerID);
- if (valid == true)
- {
- SupID = Convert.ToInt32(SupplierId);
- ProductProvider = display.SupplierToText(SupID);
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- }
- }
- catch (NullReferenceException e)
- {
- Console.WriteLine(e.Message);
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть дату поставки : 00.00.0000");
- WriteAt(24, 7);
- string ProductDeliveryDate = null;
- try
- {
- ProductDeliveryDate = ReadLine();
- bool valid = Validation.DeliveryDate(ProductDeliveryDate);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть кількість одиниць : ");
- string ProductAmount = null;
- try
- {
- ProductAmount = ReadLine();
- bool valid = Validation.Amount(ProductAmount);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- WriteLine("Кількість одиниць : {0}", ProductAmount);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть ціну за одиницю : ");
- string ProductPrice = null;
- try
- {
- ProductPrice = ReadLine();
- bool valid = Validation.Price(ProductPrice);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- WriteLine("Кількість одиниць : {0}", ProductAmount);
- WriteLine("Ціна за одиницю : {0}", ProductPrice);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть номер складу : ");
- string ProductWarehouse = null;
- try
- {
- ProductWarehouse = ReadLine();
- bool valid = Validation.WarehouseNumber(ProductWarehouse);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- WriteLine("Кількість одиниць : {0}", ProductAmount);
- WriteLine("Ціна за одиницю : {0}", ProductPrice);
- WriteLine("Номер складу : {0}", ProductWarehouse);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nВведіть короткий опис : ");
- string ProductDescription = null;
- try
- {
- ProductDescription = ReadLine();
- bool valid = Validation.ShortDescription(ProductDescription);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- WriteLine("Кількість одиниць : {0}", ProductAmount);
- WriteLine("Ціна за одиницю : {0}", ProductPrice);
- WriteLine("Номер складу : {0}", ProductWarehouse);
- WriteLine("Короткий опис : {0}", ProductDescription);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- Write("\nЗаповніть поле для приміток якщо потрібно : ");
- string ProductNotes = null;
- try
- {
- ProductNotes = ReadLine();
- bool valid = Validation.Memo(ProductNotes);
- if (valid == true)
- {
- Clear();
- WriteLine("Категорія : {0}", ProductCategory);
- WriteLine("Виробник : {0}", ProductManufacturer);
- WriteLine("Назва товару : {0}", ProductName);
- WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
- WriteLine("Гарантійний термін : {0}", ProductWarranty);
- WriteLine("Постачальник : {0}", ProductProvider);
- WriteLine("Дата поставки : {0}", ProductDeliveryDate);
- WriteLine("Кількість одиниць : {0}", ProductAmount);
- WriteLine("Ціна за одиницю : {0}", ProductPrice);
- WriteLine("Номер складу : {0}", ProductWarehouse);
- WriteLine("Короткий опис : {0}", ProductDescription);
- WriteLine("Примітка : {0}", ProductNotes);
- }
- }
- catch (FileNotFoundException fnfe)
- {
- Console.WriteLine(fnfe.Message);
- }
- WriteLine("\nІнформація введена успішно!");
- WriteLine("Натисніть будь яку клавішу для повернення до головного меню.");
- ReadLine();
- Back();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д