private void SaveNewAppointment(Event newAppointment) { eventsList.Add(newAppointment); TXTFile file = new TXTFile(); file.SaveEventsToFile(eventsList); }
static void ManyTables() //обработка одной таблицы { string workPath = ""; //рабочая папка (та, где лежат DOC файлы) Console.Clear(); //открыли, прочитали DOC файлы DOCFile doc = new DOCFile( FileEventProcessor, FileEventProcessor); doc.ReadManyFiles(out workPath); if (doc.filePath == null) { return; } CalibrationTable[] CT = new CalibrationTable[0]; for (int i = 0; i < doc.fileId.Length; i++) { CalibrationTable tempCT = new CalibrationTable( doc.fileId[i], CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor); if (tempCT.ReadTable(doc.fileData[i])) { tempCT.RepairTable(RepairVolumeInconcictensy); } if (tempCT.Table.Count == 0) { continue; } Array.Resize(ref CT, CT.Length + 1); tempCT.CopyTo(ref CT[CT.Length - 1]); CT[CT.Length - 1].ChangeLevelBase(DefaultLevelBase); } TXTFile txt = new TXTFile( //создали и записали TXT файлы FileEventProcessor, FileEventProcessor, FileEventProcessor, FileEventProcessor); txt.WriteManyFiles(CT, workPath, WriteValcomHeader); ManyTablesMenu(CT, workPath); //вызываем меню для таблиц }
public MainForm() { InitializeComponent(); TXTFile file = new TXTFile(); eventsList = file.LoadEventsFromFile(); displayedList = new Calendar.Events(); tagsList = GetTagList(); }
public static void ExportEvents(string[] args) { TXTFile files = new TXTFile(); Events eventsList = files.LoadEventsFromFile(); eventsList.Sort(); if (args.Length == 2) { ExportToHTMLFile(@args[1], eventsList); } else { IOConsole evTools = new IOConsole(); string criteria = Utils.ParseFilteringCriteria(args[1]); Events eventsToExport = SimpleDateFiltering(eventsList, criteria, DateTime.Today.ToShortDateString()); ExportToHTMLFile(@args[2], eventsToExport); } }
static void OneTable() //обработка одной таблицы { Console.Clear(); //открыли, прочитали DOC файл DOCFile doc = new DOCFile( FileEventProcessor, FileEventProcessor); doc.ReadOneFile(); if (doc.filePath == null) { return; } CalibrationTable CT = new CalibrationTable( //создаем градуировочную таблицу doc.fileId[0], CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor, CTEventProcessor); if (CT.ReadTable(doc.fileData[0])) { CT.RepairTable(RepairVolumeInconcictensy); } //зададим базу уровней CT.ChangeLevelBase(DefaultLevelBase); //создали, записали TXT файл TXTFile txt = new TXTFile( FileEventProcessor, FileEventProcessor, FileEventProcessor, FileEventProcessor); txt.WriteFile(CT, doc.filePath[0], WriteValcomHeader); OneTableMenu(CT); //вызываем меню для таблицы }
public static void DisplayEvents(string parameter) { TXTFile files = new TXTFile(); Events eventsList = files.LoadEventsFromFile(); IOConsole display = new IOConsole(eventsList); if (parameter == "all") { display.DisplayEventsToConsole(); } else { string criteria = Utils.ParseFilteringCriteria(parameter); Events eventsToDisplay = SimpleDateFiltering(eventsList, criteria, DateTime.Today.ToShortDateString()); IOConsole toDisplay = new IOConsole(eventsToDisplay); toDisplay.DisplayEventsToConsole(); } }
public void GetWordsArrTest() { TXTFile file = new TXTFile("../../DictionaryHolder/testInput_1.txt"); string[] actual = file.GetWordsArr(); StreamReader sr = new StreamReader("../../DictionaryHolder/testOutput_1.txt", Encoding.Default); List <string> expected = new List <string>(); string line; while ((line = sr.ReadLine()) != null) { expected.Add(line); } string[] expectedArr; expectedArr = expected.Distinct().ToArray(); Assert.IsTrue(actual.Length == expectedArr.Length); }
public static void SearchAndExportEvents(string field, string op, string[] val, string path) { TXTFile files = new TXTFile(); Events eventsList = files.LoadEventsFromFile(); Events filteredList = SearchEvents(eventsList, field, op, val); if (path != "") { ExportToHTMLFile(path, filteredList); } }
public static void ListAllTags(string sort) { TXTFile files = new TXTFile(); Events eventsList = files.LoadEventsFromFile(); TagsCounter tags= new TagsCounter(eventsList); switch (sort) { case "byCount": { tags.SortTagsDescByCount(); break; } case "byName": { tags.SortTagsAscByName(); break; } } Tag[] listTodispaly = tags.TagList.ToArray(); new IOConsole().DisplayTagsAndCountersToConsole(listTodispaly); }
static void ManyTablesMenu(CalibrationTable[] CT, string path) //меню работы с несколькими таблицами { int MenuChoice = 0, //выбранное доп. меню ItemChoice = 0; //выбранный пункт меню Menu.DoubleColor[] colorScheme = new Menu.DoubleColor[2]; colorScheme[0] = new Menu.DoubleColor(); colorScheme[1] = new Menu.DoubleColor(ConsoleColor.Yellow); Menu M = new Menu( new string[] { "Несколько градуировочных таблиц", "Опции (<Tab> для перехода)" }, new string[][] { new string[] { }, new string[] { } }, null, 0, colorScheme); do { M.Items = new string[][] { new string[] { "1. Выбрать таблицу для работы", "2. Изменить везде базу уровней на " + ((DefaultLevelBase == LevelBase.Centimeters)?"мм":"см"), "3. Проверить все таблицы", "4. Исправить все таблицы", "5. Сортировать все таблицы", "6. Сохранить все таблицы", "7. Выход" }, new string[] { "Исправлять непоследовательность объемов: " + ((RepairVolumeInconcictensy)?"да":"нет") } }; M.MenuCicle(out MenuChoice, out ItemChoice); switch (MenuChoice) { case -1: //отмена меню break; case 0: switch (ItemChoice) { case 0: //1. Выбрать таблицу для работы ChooseTableMenu(CT, path); break; case 1: //2. Изменить во всех таблицах базу уровней DefaultLevelBase = (DefaultLevelBase == LevelBase.Centimeters) ? (LevelBase.Millimeters) : (LevelBase.Centimeters); for (int i = 0; i < CT.Length; i++) { CT[i].ChangeLevelBase(DefaultLevelBase); } break; case 2: //3. Проверить все таблицы for (int i = 0; i < CT.Length; i++) { CT[i].CheckTable(); } break; case 3: //4. Исправить все таблицы for (int i = 0; i < CT.Length; i++) { CT[i].RepairTable(RepairVolumeInconcictensy); } break; case 4: //5. Сортировать все таблицы for (int i = 0; i < CT.Length; i++) { CT[i].SortTable(); } break; case 5: //6. Сохранить все таблицы TXTFile tf = new TXTFile( FileEventProcessor, FileEventProcessor, FileEventProcessor, FileEventProcessor); tf.WriteManyFiles(CT, path, WriteValcomHeader); break; case 6: //2. Выход ExitApp = true; break; default: //ошибка меню Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе доп. 0 меню нескольких таблиц!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } break; case 1: Menu M4 = new Menu( new string[] { "Исправлять непоследовательность объемов?" }, new string[][] { new string[] { "Да", "Нет" } }, null, 0, new Menu.DoubleColor[] { new Menu.DoubleColor(ConsoleColor.Yellow) }); int MenuChoice4 = 0, ItemChoice4 = 0; M4.MenuCicle(out MenuChoice4, out ItemChoice4); switch (MenuChoice4) { case 0: switch (ItemChoice4) { case 0: //Да RepairVolumeInconcictensy = true; break; case 1: //Нет RepairVolumeInconcictensy = false; break; } break; } break; default: Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе меню нескольких таблиц!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } } while (!(MenuChoice == -1 || MenuChoice == 0 && ItemChoice == 6) && !ExitApp); }
static void OneTableMenu(CalibrationTable CT, string path = null, bool ExitIfTrue = true) //меню работы с одной таблицей { int MenuChoice = 0, //выбранное доп. меню ItemChoice = 0; //выбранный пункт меню Menu.DoubleColor[] colorScheme = new Menu.DoubleColor[2]; colorScheme[0] = new Menu.DoubleColor(); colorScheme[1] = new Menu.DoubleColor(ConsoleColor.Yellow); Menu M = new Menu( new string[] { "Таблица: " + CT.CTid, "Опции (<Tab> для перехода)" }, new string[][] { new string[] { }, new string[] { } }, null, 0, colorScheme); do { M.Items = new string[][] { new string[] { "1. Отобразить таблицу", "2. Изменить базу уровней на " + ((CT.levelBase == LevelBase.Centimeters)?"мм":"см"), "3. Правка значений в таблице", "4. Проверить таблицу", "5. Исправить таблицу", "6. Сортировать", "7. Сохранить", "8. " + ((ExitIfTrue)?"Выход":"Назад") }, new string[] { "Исправлять непоследовательность объемов: " + ((RepairVolumeInconcictensy)?"да":"нет"), "Записывать заголовок Valcom: " + ((WriteValcomHeader)?"да":"нет") } }; M.MenuCicle(out MenuChoice, out ItemChoice); switch (MenuChoice) { case -1: //отмена меню break; case 0: switch (ItemChoice) { case 0: //1. Отобразить таблицу CT.ShowTable(); break; case 1: //2. Изменить базу уровней switch (CT.levelBase) { case LevelBase.Millimeters: CT.ChangeLevelBase(LevelBase.Centimeters); break; case LevelBase.Centimeters: CT.ChangeLevelBase(LevelBase.Millimeters); break; } break; case 2: //3. Правка значений в таблице ChangeTableMenu(CT); break; case 3: //3. Проверить таблицу CT.CheckTable(); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\n\nДля продолжения нажмите любую клавишу..."); Console.ReadKey(true); break; case 4: //4. Исправить таблицу CT.RepairTable(RepairVolumeInconcictensy); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\n\nДля продолжения нажмите любую клавишу..."); Console.ReadKey(true); break; case 5: //5. Сортировать CT.SortTable(); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\n\nДля продолжения нажмите любую клавишу..."); Console.ReadKey(true); break; case 6: //6. Сохранить TXTFile tf = new TXTFile( FileEventProcessor, FileEventProcessor, FileEventProcessor, FileEventProcessor); tf.WriteFile(CT, path, WriteValcomHeader); break; case 7: //7. Выход ExitApp = ExitIfTrue; break; default: //ошибка меню Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе доп. 0 меню одной таблицы!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } break; case 1: switch (ItemChoice) { case 0: Menu M4 = new Menu( new string[] { "Исправлять непоследовательность объемов?" }, new string[][] { new string[] { "Да", "Нет" } }, null, 0, new Menu.DoubleColor[] { new Menu.DoubleColor(ConsoleColor.Yellow) }); int MenuChoice4 = 0, ItemChoice4 = 0; M4.MenuCicle(out MenuChoice4, out ItemChoice4); switch (MenuChoice4) { case 0: switch (ItemChoice4) { case 0: //Да RepairVolumeInconcictensy = true; break; case 1: //Нет RepairVolumeInconcictensy = false; break; } break; } break; case 1: Menu M2 = new Menu( new string[] { "Записывать в выходные файлы заголовок Valcom?" }, new string[][] { new string[] { "Да", "Нет" } }, null, 0, new Menu.DoubleColor[] { new Menu.DoubleColor(ConsoleColor.Yellow) }); int MenuChoice2 = 0, ItemChoice2 = 0; int curItem2 = (WriteValcomHeader) ? 0 : 1; M2.MenuCicle(out MenuChoice2, out ItemChoice2, 0, curItem2); switch (MenuChoice2) { case 0: switch (ItemChoice2) { case 0: //Да WriteValcomHeader = true; break; case 1: //Нет WriteValcomHeader = false; break; } break; default: Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе меню опций!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } break; default: Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе доп. 1 меню одной таблицы!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } break; default: Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ошибка в работе меню одной таблицы!!!\n\nНажмите любую клавишу для выхода..."); Console.ReadKey(true); ExitApp = true; break; } } while (!(MenuChoice == -1 || MenuChoice == 0 && ItemChoice == 7) && !ExitApp); }