/* Метод тестирует просмотр всех категорий в списке. */ static void TestCategorySelect(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); CategoryPrintAll(markup); }
/* Метод тестирует запрос к объединению двух таблиц */ static void TestTraceBoxJoin(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); Trace trace = new Trace(); trace.TagID = 0; trace.ViewID = 0; trace.FrameStart = 0; trace.FrameEnd = 0; trace.ID = markup.TraceCreate(trace); Box box = new Box(); box.TraceID = trace.ID; box.FrameID = trace.FrameStart; box.PosX = 10; box.PosY = 30; box.Width = 15; box.Height = 25; markup.BoxCreate(box); List <Box> boxes = markup.BoxGetByView(0, 0); foreach (Box item in boxes) { Console.WriteLine("TraceID = {0}, FrameID = {1}, PosX = {2}", item.TraceID, item.FrameID, item.PosX); } }
/* Метод тестирует запрос к объединению двух таблиц */ static void TestTraceMarkerJoin(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); Trace trace = new Trace(); trace.TagID = 0; trace.ViewID = 0; trace.FrameStart = 0; trace.FrameEnd = 0; trace.ID = markup.TraceCreate(trace); Marker marker = new Marker(); marker.TraceID = trace.ID; marker.FrameID = trace.FrameStart; marker.PosX = 10; marker.PosY = 30; markup.MarkerCreate(marker); marker.PosX = 20; markup.MarkerUpdate(marker); List <Marker> markers = markup.MarkerGetByView(0, 0); foreach (Marker item in markers) { Console.WriteLine("TraceID = {0}, FrameID = {1}, PosX = {2}", item.TraceID, item.FrameID, item.PosX); } }
/* Метод тестирует функцию добавления новой категории. */ static void TestCategoryInsert(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); int ID = CategoryInsertOne(markup, "New"); Console.WriteLine("New ID = {0}", ID); CategoryPrintAll(markup); }
/* Метод тестирует удаление строки из таблицы категорий. */ static void TestCategoryDelete(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); CategoryInsertOne(markup, "New1"); CategoryInsertOne(markup, "New2"); markup.CategoryDelete(1); CategoryPrintAll(markup); }
/* Метод тестирует загрузку разметки из XML-файла. */ static void TestXmlRead() { string MarkupFilePath = "markup.xml"; MarkupProvider markup = new MarkupProviderADO(); if (markup.Open(MarkupFilePath)) { Console.WriteLine("Loaded markup from " + MarkupFilePath); CategoryPrintAll(markup); } else { Console.WriteLine("Propblem while loading markup!"); } }
// Обработчик события меню создания нового XML-файла описания // видеозаписи override public void FileOnRecordingCreate() { CreateRecordingInfoDialog CreateDialog = new CreateRecordingInfoDialog(); RecordingInfo rec = new RecordingInfo(); bool isSuccess; do { isSuccess = true; DialogResult result = CreateDialog.ShowDialog(); if (result == DialogResult.OK) { // Извлекаем информацию из видеофайлов, сохраняем // в структуру RecordingInfo try { rec = CameraCreate(CreateDialog.FilePathArray, CreateDialog.Comment); // Запрашиваем путь к файлу для сохранения XML result = m_gui.dlgRecordingSave.ShowDialog(); string path = m_gui.dlgRecordingSave.FileName; rec.FileNameXML = path; if (result == DialogResult.OK) { // Готовим структуру данных для записи в XML MarkupProvider xml = new MarkupProviderADO(); xml.InitHeader(rec); xml.Save(path); } } catch (Exception e) { MessageBox.Show(e.Message, "ERROR!", MessageBoxButtons.OK); isSuccess = false; } } }while (!isSuccess); CreateDialog.Dispose(); }
/* Метод тестирует обновление строки в таблице категорий. */ static void TestCategoryUpdate(RecordingInfo rec) { MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); CategoryInsertOne(markup, "New1"); CategoryInsertOne(markup, "New2"); List <Category> list; Category c; list = markup.CategoryGetAll(); c = list[1]; c.Name = "New3"; markup.CategoryUpdate(c); CategoryPrintAll(markup); }
/* Метод тестирует сохранение разметки в XML-файл. */ static void TestXmlWrite(RecordingInfo rec) { string MarkupFilePath = "markup.xml"; MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); CategoryInsertOne(markup, "New1"); CategoryInsertOne(markup, "New2"); CategoryPrintAll(markup); if (markup.Save(MarkupFilePath)) { Console.WriteLine("Saved markup to " + MarkupFilePath); } else { Console.WriteLine("Problem while saving markup!"); } }
override public void FileOnRecordingOpen() { // Запрашиваем путь к XML-файлу видеозаписи DialogResult result = m_gui.dlgRecordingOpen.ShowDialog(); if (result != DialogResult.OK) { return; } // Если видеозапись открыта, её сначала нужно закрыть if (CameraIsOpened) { FileOnRecordingClose(); } // Затем открываем новую видеозапись try { MarkupProvider xml = new MarkupProviderADO(); if (!xml.Open(m_gui.dlgRecordingOpen.FileName)) { MessageBox.Show("Unable to open video recording XML!", "ERROR!", MessageBoxButtons.OK); return; } RecordingInfo rec = xml.GetHeader(); if (!FileCameraOpen(rec)) { MessageBox.Show("Unable to open video recording!", "ERROR!", MessageBoxButtons.OK); return; } } catch (Exception e) { MessageBox.Show(e.Message, "ERROR!", MessageBoxButtons.OK); } // Обновляем пути к файлам разметки и видеозаписи на форме m_gui.RecordingFile = m_gui.dlgRecordingOpen.FileName; }