public string AddNewFile(string s, List<Car> list, string endPath, string path, AbstractClass rep) { list.Clear(); Console.WriteLine("Файлы :"); Info(s); Console.WriteLine("Введите значение"); if (endPath != null) { rep.CloseFile(); path = GetFile(s); rep.ReadFile(path, list); } else { do { path = Console.ReadLine(); } while (!(path.EndsWith(s))); } return path; }
//Проверка удаления файла public void CheckDeleteFile(string s, string delFile, AbstractClass method) { bool m = false; DirectoryInfo dir = new DirectoryInfo(@"C:\Users\Vlad\Documents\Visual Studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug"); FileInfo[] bmpfiles = dir.GetFiles("*" + s); if (delFile.EndsWith(s)) { while(m) { foreach (FileInfo f in bmpfiles) { if (delFile == f.Name) { m = false; } } if (m == true) { Console.WriteLine("Вы ввели неправильно название файла, повторите"); delFile = Console.ReadLine(); } } method.CloseFile(); } }
AbstractClass text = new TextFile(); //текстовый файл #endregion Fields #region Methods public void MyMemory() { string act = "Сделано!"; string namez = "Введите значение!"; int i = 0; while (i < 13 && i > 0) { menu.AllMethodsMenu(); i = int.Parse(Console.ReadLine()); Console.Clear(); switch (i) { case 1: { method.AddNewElement(list); Console.WriteLine(act); } break; case 2: { method.PrintfInfo(list); Console.WriteLine(act); } break; case 3: { Console.WriteLine(namez); method.PrintfInfo(method.Get(method.CheckId(list), list)); Console.WriteLine(act); } break; case 4: { Console.WriteLine("Дата последнего изменения - {0}", method.DateChange()); if (method.DateChange() == null) Console.WriteLine("Изменений не внесено!"); } break; case 5: { method.RemoveAll(list); Console.WriteLine(act); } break; case 6: { Console.WriteLine(namez); method.Remove(method.CheckId(list), list); Console.WriteLine(act); } break; case 7: { menu.ChangeElement(); int nom = int.Parse(Console.ReadLine()); method.Sort(nom, list); Console.WriteLine(act); } break; case 8: { menu.ChangeElement(); int nom = int.Parse(Console.ReadLine()); Console.WriteLine(namez); string name = Console.ReadLine(); method.PrintfInfo(method.Filtration(nom, name, list)); Console.WriteLine(act); } break; case 9: { int id = method.CheckId(list); menu.ChangeElement(); int nom = int.Parse(Console.ReadLine()); Console.WriteLine(namez); object name = Console.ReadLine(); method.Change(id, nom, name, list); Console.WriteLine(act); } break; case 10: { MyMemoryChange(); } break; case 11: { flist.Clear(); menu.BuildFile(); int k = int.Parse(Console.ReadLine()); Console.WriteLine(namez); if (k == 1) { if (endPathText != null) text.CloseFile(); pathText = method.CheckNewFile(".csv", pathText); text = new TextFile(pathText); method = text; } else { if(endPathBinary != null) binary.CloseFile(); pathBinary = method.CheckNewFile(".dat", pathBinary); binary = new BinaryFile(pathBinary); method = binary; } list = flist; } break; case 12: { menu.DeleteMenu(); int n = int.Parse(Console.ReadLine()); if (n == 1) method.DeleteFile(".csv", pathText, text); if (n == 2) method.DeleteFile(".dat", pathBinary, binary); } break; default: { if (pathText != null) text.CloseFile(); if (pathBinary != null) binary.CloseFile(); } break; } } }
public void DeleteFile(string s,string path,AbstractClass rep) { Memory memory = new Memory(); string delFile; Console.WriteLine("Файлы :"); Info(s); if (path != null) { Console.WriteLine("Введите значение"); do { delFile = Console.ReadLine(); } while (!(delFile.EndsWith(s))); CheckDeleteFile(s, delFile, rep); File.Delete(delFile); if (CheckMoreFile(s) == false || path == delFile) memory.MyMemoryChange(); } }
//ВЫБОР КАК БУДЕМ РАБТАТЬ(КОНСОЛЬ, БИНАРНЫЙ, ТЕКСТОВЫЙ) public void MyMemoryChange() { menu.FileRespository(); int h = int.Parse(Console.ReadLine()); Console.Clear(); switch (h) { case 1: { method = console; list = cons; } break; case 2: { endPathText = pathText; pathText = method.AddNewFile(".csv",flist, endPathText, pathText, text); text = new TextFile(pathText); list = flist; method = text; } break; case 3: { endPathBinary = pathBinary; pathBinary = method.AddNewFile(".dat", flist, endPathBinary, pathBinary, binary); binary = new BinaryFile(pathBinary); method = binary; list = flist; } break; } }