public void SightDelete() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем данные с БД в датасет и смотрим число строк sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Sight.Count; ds.Sight.Clear(); //Добавляем строку в датасет и записываем в БД ds.Sight.AddSightRow("String", "ToDelete"); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); //Чистим датасет, записываем в него ещё раз и удаляем из него последнюю запись ds.Sight.Clear(); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); ds.Sight[countElements].Delete(); //Пишем в БД и снова читаем из неё в датасет sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Sight.Clear(); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); //Смотрим число строк до всех манипуляций и после Assert.AreEqual(ds.Sight.Count, countElements); }
public void SightReadNotEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Sight.Count; //Добавляем строку и пишем в базу ds.Sight.AddSightRow("Памятник Ленину", "Обычный памятник в городе"); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Sight.Clear(); //Читаем снова и смотрим на последнюю строку sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Памятник Ленину", ds.Sight[countElements].sight_name); Assert.AreEqual("Обычный памятник в городе", ds.Sight[countElements].sight_descr); }
public void SightInsert() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем данные с БД, считаем число записей в датасете sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElement = ds.Sight.Count; //Добавляем строку в датасет, сохраняем в БД, снова читаем в датасет ds.Sight.AddSightRow("Insert", "Str."); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Sight.Clear(); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Insert", ds.Sight[countElement].sight_name); Assert.AreEqual("Str.", ds.Sight[countElement].sight_descr); }
public BusinessLogic() { sightDataAccessor = new SightDataAccessor(); tourDataAccessor = new TourDataAccessor(); instructorDataAccessor = new InstructorDataAccessor(); tourTypeDataAccessor = new TourTypeDataAccessor(); scheduleDataAccessor = new ScheduleDataAccessor(); }
public void SightUpdate() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем и проверяем, что в таблице хоть что-то есть sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElement = ds.Sight.Count; if (countElement == 0) { //Если ничего нет, добавляем 1 строку ds.Sight.AddSightRow("Insert", "Str."); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } //Читаем снова, пересчитываем число строк ds.Sight.Clear(); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); countElement = ds.Sight.Count; //Проверяем, что число строк >= 1 Assert.GreaterOrEqual(countElement, 1); //Меняем поле и пишем в БД ds.Sight[countElement - 1].sight_descr = "Hello from Update"; sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Sight.Clear(); //Читаем снова и сравниваем sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Hello from Update", ds.Sight[countElement - 1].sight_descr); }
public void SightReadEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); TourDataAccessor tourDataAccessor = new TourDataAccessor(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Чтение в датасет и удаление оттуда всех записей tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); for (int i = 0; i < ds.Tour.Count; i++) { ds.Tour[i].Delete(); } for (int i = 0; i < ds.Sight.Count; i++) { ds.Sight[i].Delete(); } //Сохранение в БД tourDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Tour.Clear(); ds.Sight.Clear(); //Чтение в датасет из пустой таблицы sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElement = ds.Sight.Count; abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual(0, countElement); }
public void TourReadNotEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); TourDataAccessor tourDataAccessor = new TourDataAccessor(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); TourTypeDataAccessor tourTypeDataAccessor = new TourTypeDataAccessor(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Tour.Count; //Проверка, есть ли значения в таблицах расписания, экскурсии и типа экскурсии. Если значения нет, записываем его и считываем еще раз if (ds.Sight.Count == 0) { ds.Sight.AddSightRow("Первое название экскурсии", "Первое описание экскурсии"); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } if (ds.Schedule.Count == 0) { DateTime currentDateTime = DateTime.Now; currentDateTime = new DateTime(currentDateTime.Year, currentDateTime.Month, currentDateTime.Day, currentDateTime.Hour, currentDateTime.Minute, currentDateTime.Second); ds.Schedule.AddScheduleRow(currentDateTime); scheduleDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } if (ds.TourType.Count == 0) { ds.TourType.AddTourTypeRow("Первая строка списка туров"); tourTypeDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } //Чистим таблицы датасета и читаем заново данные с базы ds.Tour.Clear(); ds.Sight.Clear(); ds.Schedule.Clear(); ds.TourType.Clear(); tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); //Сохраняем ID первой записи таблиц Int32 savedSightId = ds.Sight[0].id; Int32 savedScheduleId = ds.Schedule[0].id; Int32 savedTourTypeId = ds.TourType[0].id; //Добавляем строку и пишем в базу ds.Tour.AddTourRow("Тур городской", "Тур по городу", ds.Sight[0], ds.Schedule[0], ds.TourType[0]); tourDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Tour.Clear(); //Читаем снова и смотрим на последнюю строку tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Тур городской", ds.Tour[countElements].tour_name); Assert.AreEqual("Тур по городу", ds.Tour[countElements].tour_descr); Assert.AreEqual(savedSightId, ds.Tour[countElements].id_sight); Assert.AreEqual(savedScheduleId, ds.Tour[countElements].id_schedule); Assert.AreEqual(savedTourTypeId, ds.Tour[countElements].id_tour_type); }
public void TourDelete() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); TourDataAccessor tourDataAccessor = new TourDataAccessor(); SightDataAccessor sightDataAccessor = new SightDataAccessor(); TourTypeDataAccessor tourTypeDataAccessor = new TourTypeDataAccessor(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Tour.Count; //Проверка, есть ли значения в таблицах расписания, экскурсии и типа экскурсии. Если значения нет, записываем его и считываем еще раз if (ds.Sight.Count == 0) { ds.Sight.AddSightRow("Первое название экскурсии", "Первое описание экскурсии"); sightDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } if (ds.Schedule.Count == 0) { DateTime currentDateTime = DateTime.Now; currentDateTime = new DateTime(currentDateTime.Year, currentDateTime.Month, currentDateTime.Day, currentDateTime.Hour, currentDateTime.Minute, currentDateTime.Second); ds.Schedule.AddScheduleRow(currentDateTime); scheduleDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } if (ds.TourType.Count == 0) { ds.TourType.AddTourTypeRow("Первая строка списка туров"); tourTypeDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); } //Чистим таблицы датасета и читаем заново данные с базы ds.Tour.Clear(); ds.Sight.Clear(); ds.Schedule.Clear(); ds.TourType.Clear(); tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); sightDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); //Добавляем строку и пишем в базу ds.Tour.AddTourRow("Тур для удаления", "Тур по удалению", ds.Sight[0], ds.Schedule[0], ds.TourType[0]); tourDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); //Чистим датасет, записываем в него ещё раз и удаляем из него последнюю запись ds.Tour.Clear(); tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); ds.Tour[countElements].Delete(); //Пишем в БД и снова читаем из неё в датасет tourDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Tour.Clear(); tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); //Смотрим число строк до всех манипуляций и после Assert.AreEqual(ds.Tour.Count, countElements); }