public void invoiceByName() { InvoiceDataAccessor daInvoice = new InvoiceDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daInvoice.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List<DataRow> list = dataSet1.invoice.Select("invoice_number = '000001'").OfType<DataRow>().ToList(); Assert.That(list.Count, Is.EqualTo(1)); Assert.That((int)(list[0]["id"]), Is.EqualTo(1)); Assert.That((string)(list[0]["invoice_number"]), Is.EqualTo("000001")); Assert.That((int)(list[0]["organization_id"]), Is.EqualTo(2)); }
public void GetAll() { //Setup(); InvoiceDataAccessor daInvoice = new InvoiceDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daInvoice.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List<DataRow> list = dataSet1.invoice.Select().OfType<DataRow>().ToList(); list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"])); //сортируем по ид Assert.That(1, Is.EqualTo(1)); Assert.That(list.Count, Is.EqualTo(2)); Assert.That((int)(list[0]["id"]), Is.EqualTo(1)); Assert.That((string)(list[0]["invoice_number"]), Is.EqualTo("000001")); Assert.That((int)(list[0]["organization_id"]), Is.EqualTo(2)); }
public void Read(AbstractConnection c, AbstractTransaction t, DataSet1 ds) { MySqlDataAdapter a = new MySqlDataAdapter(); a.SelectCommand = new MySqlCommand("SELECT * FROM invoice", c.get(), t.get()); a.Fill(ds, "invoice"); }
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); }
private void write(IDataAccessor da) { bool exx = false; AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.CreateConnection(); connection.Open(); transaction = connection.BeginTransaction(); da.Update(connection, transaction, dataSet); transaction.Commit(); } catch (Exception e) { Console.WriteLine(e.Message); exx = true; transaction.Rollback(); } finally { connection.Close(); } Assert.IsFalse(exx, "Exceptions not throwed"); }
public void ScheduleInsert() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем данные с БД, считаем число записей в датасете scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElement = ds.Schedule.Count; //Добавляем строку в датасет, сохраняем в БД, снова читаем в датасет 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); ds.Schedule.Clear(); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual(currentDateTime, ds.Schedule[countElement].tour_date); }
public DataSet1 getUnits() { UnitsDataAccessor DA = new UnitsDataAccessor(); PositionDataAccessor DApos = new PositionDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection absConnection = null; AbstractTransaction absTransaction = null; try { absConnection = DBFactory.createConnection(); absConnection.open(); absTransaction = absConnection.beginTransaction(); DA.Read(absConnection, absTransaction, dataSet1); DApos.Read(absConnection, absTransaction, dataSet1); absTransaction.commit(); } catch (Exception e) { absTransaction.rollback(); } finally { absConnection.close(); } return(dataSet1); }
private void read(IDataAccessor da) { bool exx = false; AbstractConnection connection = null; AbstractTransaction transaction = null; dataSet = new UPrintDataSet(); try { connection = DBFactory.CreateConnection(); connection.Open(); transaction = connection.BeginTransaction(); da.Read(connection, transaction, dataSet); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); } finally { connection.Close(); } Assert.IsFalse(exx, "Exceptions not throwed"); }
public void updateMaterials(DataSet1 dataSet1) { MaterialDataAccessor DA = new MaterialDataAccessor(); PositionDataAccessor DApos = new PositionDataAccessor(); AbstractConnection absConnection = null; AbstractTransaction absTransaction = null; try { absConnection = DBFactory.createConnection(); absConnection.open(); absTransaction = absConnection.beginTransaction(); DA.Update(absConnection, absTransaction, dataSet1); DApos.Update(absConnection, absTransaction, dataSet1); absTransaction.commit(); } catch (Exception e) { absTransaction.rollback(); } finally { absConnection.close(); } }
public void updateOrganizations(DataSet1 dataSet1) { OrganizationDataAccessor DA = new OrganizationDataAccessor(); InvoiceDataAccessor DAinvoice = new InvoiceDataAccessor(); AbstractConnection absConnection = null; AbstractTransaction absTransaction = null; try { absConnection = DBFactory.createConnection(); absConnection.open(); absTransaction = absConnection.beginTransaction(); DA.Update(absConnection, absTransaction, dataSet1); DAinvoice.Update(absConnection, absTransaction, dataSet1); absTransaction.commit(); } catch (Exception e) { absTransaction.rollback(); } finally { absConnection.close(); } }
// todo support logging framework /// <summary> /// Adds a transaction to the transactionpool. /// </summary> /// <param name="tx"></param> public bool AddTransaction(AbstractTransaction tx) { //_logger.Information("Miner received transaction: {0}", JsonConvert.SerializeObject(tx)); try { if (_txPool.Keys.Contains(tx.Hash)) { throw new TransactionRejectedException("Transaction already submitted to txpool"); } _transactionValidator.ValidateTransaction(tx); return(_txPool.TryAdd(tx.Hash, tx)); //_logger.Information("Added transaction to txpool ({0})", tx.Hash); } catch (TransactionRejectedException) { //_logger.Information("Transaction with hash {0} was rejected: {1}", e.Transaction.Hash, e.Message); } catch (Exception) { //_logger.Information("An {0} occurred: {1}", e.GetType().Name, e.Message); } return(false); }
public void ScheduleReadNotEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Schedule.Count; //Добавляем строку и пишем в базу 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); ds.Schedule.Clear(); //Читаем снова и смотрим на последнюю строку scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual(currentDateTime, ds.Schedule[countElements].tour_date); }
public void Read(AbstractConnection c, AbstractTransaction t, DataSet1 ds) { MySqlDataAdapter a = new MySqlDataAdapter(); a.SelectCommand = new MySqlCommand("SELECT * FROM unit_of_measurement", c.get(), t.get()); a.Fill(ds, "unit_of_measurement"); }
public void GetAll() { //Setup(); PositionDataAccessor daInvoice = new PositionDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daInvoice.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List <DataRow> list = dataSet1.position_in_mat_delivery_note.Select().OfType <DataRow>().ToList(); list.Sort((x, y) => ((int)x["id_"]).CompareTo((int)y["id_"])); //сортируем по ид Assert.That(1, Is.EqualTo(1)); Assert.That(list.Count, Is.EqualTo(5)); Assert.That((int)(list[0]["id_"]), Is.EqualTo(1)); Assert.That((double)(list[0]["amount"]), Is.EqualTo(10)); Assert.That((int)(list[0]["invoice_id"]), Is.EqualTo(1)); }
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 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 bool AddTransactionToPool(AbstractTransaction tx, bool publishToNetwork) { //_logger.LogInformation("Miner received transaction: {0}", JsonConvert.SerializeObject(tx)); try { if (_txPool.Contains(tx)) { throw new TransactionRejectedException("Transaction already submitted to txpool"); } _transactionValidator.ValidateTransaction(tx); _txPool.AddTransaction(tx); _logger.LogInformation("Added transaction to txpool ({0})", tx.Hash); if (publishToNetwork) // todo move this to ConcurrentTransactionPool maybe? { EventPublisher.GetInstance().PublishValidTransactionReceived(this, new TransactionReceivedEventArgs(tx)); } return(true); } catch (TransactionRejectedException e) { var errorTx = e.Transaction ?? tx; _logger.LogInformation("Transaction with hash {0} was rejected: {1}", errorTx.Hash, e.Message); return(false); } catch (Exception e) { _logger.LogInformation("An {0} occurred: {1}", e.GetType().Name, e.Message); return(false); } }
public void GetAll() { //Setup(); MaterialDataAccessor daMaterial = new MaterialDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daMaterial.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List <DataRow> list = dataSet1.material.Select().OfType <DataRow>().ToList(); list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"])); //сортируем по ид Assert.That(1, Is.EqualTo(1)); Assert.That(list.Count, Is.EqualTo(8)); Assert.That((int)(list[0]["id"]), Is.EqualTo(1)); Assert.That((string)(list[0]["name_material"]), Is.EqualTo("Бревна буковые")); Assert.That((string)(list[0]["code_material"]), Is.EqualTo("02.20.12.112")); }
public void materialByName() { MaterialDataAccessor daMaterial = new MaterialDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daMaterial.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List <DataRow> list = dataSet1.material.Select("name_material = 'Бревна буковые'").OfType <DataRow>().ToList(); Assert.That(list.Count, Is.EqualTo(1)); Assert.That((int)(list[0]["id"]), Is.EqualTo(1)); Assert.That((string)(list[0]["name_material"]), Is.EqualTo("Бревна буковые")); Assert.That((string)(list[0]["code_material"]), Is.EqualTo("02.20.12.112")); }
public void TourReadEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); TourDataAccessor tourDataAccessor = new TourDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Чтение в датасет и удаление оттуда всех записей tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); for (int i = 0; i < ds.Tour.Count; i++) { ds.Tour[i].Delete(); } //Сохранение в БД tourDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Tour.Clear(); //Чтение в датасет из пустой таблицы tourDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElement = ds.Tour.Count; abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual(0, countElement); }
public void organizationByName() { OrganizationDataAccessor dalOrganization = new OrganizationDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); dalOrganization.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List <DataRow> list = dataSet1.organization.Select("organization_name = 'ОАО \"КРАСНОЯРСКЛЕСОМАТЕРИАЛЫ\"'").OfType <DataRow>().ToList(); Assert.That(list.Count, Is.EqualTo(1)); Assert.That((int)(list[0]["id"]), Is.EqualTo(2)); Assert.That((string)(list[0]["organization_name"]), Is.EqualTo("ОАО \"КРАСНОЯРСКЛЕСОМАТЕРИАЛЫ\"")); Assert.That((int)(list[0]["okpo_number"]), Is.EqualTo(47828137)); }
public void unit_of_measurementByName() { UnitsDataAccessor daUnit = new UnitsDataAccessor(); DataSet1 dataSet1 = new DataSet1(); AbstractConnection connection = null; AbstractTransaction transaction = null; try { connection = DBFactory.createConnection(); connection.open(); transaction = connection.beginTransaction(); daUnit.Read(connection, transaction, dataSet1); transaction.commit(); } catch (Exception e) { transaction.rollback(); } finally { connection.close(); } List <DataRow> list = dataSet1.unit_of_measurement.Select("unit_name = 'Миллиметр'").OfType <DataRow>().ToList(); Assert.That(list.Count, Is.EqualTo(1)); Assert.That((int)(list[0]["id"]), Is.EqualTo(4)); Assert.That((string)(list[0]["unit_name"]), Is.EqualTo("Миллиметр")); Assert.That((string)(list[0]["code"]), Is.EqualTo("003")); Assert.That((string)(list[0]["national_symbol"]), Is.EqualTo("мм")); }
public void Read(AbstractConnection c, AbstractTransaction t, DataSet1 ds) { MySqlDataAdapter a = new MySqlDataAdapter(); a.SelectCommand = new MySqlCommand("SELECT * FROM position_in_mat_delivery_note", c.get(), t.get()); a.Fill(ds, "position_in_mat_delivery_note"); }
public void TourTypeReadNotEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); TourTypeDataAccessor tourTypeDataAccessor = new TourTypeDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.TourType.Count; //Добавляем строку и пишем в базу ds.TourType.AddTourTypeRow("Поход в горы"); tourTypeDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.TourType.Clear(); //Читаем снова и смотрим на последнюю строку tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Поход в горы", ds.TourType[countElements].tour_type_name); }
public void InstructorDelete() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); TourTypeDataAccessor tourTypeDataAccessor = new TourTypeDataAccessor(); InstructorDataAccessor instructorDataAccessor = new InstructorDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Instructor.Count; //Проверка, есть ли значения в таблицах расписания и типа экскурсии. Если значения нет, записываем его и считываем еще раз 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.Instructor.Clear(); ds.Schedule.Clear(); ds.TourType.Clear(); instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); //Добавляем строку и пишем в базу ds.Instructor.AddInstructorRow("Делитов", "Алексей", "Петрович", ds.Schedule[0], ds.TourType[0]); instructorDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); //Чистим датасет, записываем в него ещё раз и удаляем из него последнюю запись ds.Instructor.Clear(); instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); ds.Instructor[countElements].Delete(); //Пишем в БД и снова читаем из неё в датасет instructorDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Instructor.Clear(); instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); //Смотрим число строк до всех манипуляций и после Assert.AreEqual(ds.Instructor.Count, countElements); }
public void InstructorReadNotEmptyTable() { AbstractConnection abstractConnection = ConnectionFactory.CreateConnection(); abstractConnection.Open(); TouristDataSet ds = new TouristDataSet(); InstructorDataAccessor instructorDataAccessor = new InstructorDataAccessor(); ScheduleDataAccessor scheduleDataAccessor = new ScheduleDataAccessor(); TourTypeDataAccessor tourTypeDataAccessor = new TourTypeDataAccessor(); AbstractTransaction abstractTransaction = abstractConnection.BeginTransaction(); //Читаем строки с БД и смотрим их число instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); int countElements = ds.Instructor.Count; //Проверка, есть ли значения в таблицах расписания и типа экскурсии. Если значения нет, записываем его и считываем еще раз 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.Instructor.Clear(); ds.Schedule.Clear(); ds.TourType.Clear(); instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); scheduleDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); tourTypeDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); //Сохраняем ID первой записи таблиц Int32 savedScheduleId = ds.Schedule[0].id; Int32 savedTourTypeId = ds.TourType[0].id; //Добавляем строку и пишем в базу ds.Instructor.AddInstructorRow("Петров", "Алексей", "Петрович", ds.Schedule[0], ds.TourType[0]); instructorDataAccessor.WriteData(abstractTransaction, abstractConnection, ds); ds.Instructor.Clear(); //Читаем снова и смотрим на последнюю строку instructorDataAccessor.ReadData(abstractTransaction, abstractConnection, ds); abstractTransaction.Commit(); abstractConnection.Close(); Assert.AreEqual("Петров", ds.Instructor[countElements].surname); Assert.AreEqual("Алексей", ds.Instructor[countElements].forename); Assert.AreEqual("Петрович", ds.Instructor[countElements].patronymic); Assert.AreEqual(savedScheduleId, ds.Instructor[countElements].id_schedule); Assert.AreEqual(savedTourTypeId, ds.Instructor[countElements].id_tour_type); }
public void Update(AbstractConnection c, AbstractTransaction t, DataSet1 ds) { MySqlDataAdapter adapter = new MySqlDataAdapter(); // SELECT String sqlSelect = "SELECT * FROM organization"; adapter.SelectCommand = new MySqlCommand(sqlSelect, c.get(), t.get()); //INSERT String sqlInsert = "INSERT INTO organization (okpo_number, organization_name) VALUES (@okpo_number, @organization_name)"; adapter.InsertCommand = new MySqlCommand(sqlInsert, c.get(), t.get()); adapter.InsertCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "okpo_number", ParameterName = "@okpo_number" }); adapter.InsertCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "organization_name", ParameterName = "@organization_name" }); //UPDATE String sqlUpdate = "Update organization SET okpo_number=@okpo_number, organization_name=@organization_name where id=@id"; adapter.UpdateCommand = new MySqlCommand(sqlUpdate, c.get(), t.get()); adapter.UpdateCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "id", ParameterName = "@id" }); adapter.UpdateCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "okpo_number", ParameterName = "@okpo_number" }); adapter.UpdateCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "organization_name", ParameterName = "@organization_name" }); //DELETE String sqlDelete = "DELETE FROM organization WHERE id = @id"; adapter.DeleteCommand = new MySqlCommand(sqlDelete, c.get(), t.get()); adapter.DeleteCommand.Parameters.Add(new MySqlParameter() { SourceColumn = "id", ParameterName = "@id" }); MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(adapter); adapter.Update(ds, "organization"); }
/// VectorClock public VectorClock GetLastClock(AbstractTransaction txn, string replicaId) { var ret = txn.TryGet(_table, ToClockTableKey(replicaId)); return(ret.HasValue ? FromClockTableValue(ret.Value) : VectorClockHelper.Create(replicaId, 0)); }
public (ulong, VectorClock)? GetLastClock(AbstractTransaction txn) { var ret = txn.TryGetLast(_table); return(ret.HasValue ? (FromTableKey(ret.Value.Item1), FromTableValue(ret.Value.Item2).LocallySaved) : ((ulong, VectorClock)?)null); }
public ReplicaCounters GetCounters(AbstractTransaction txn) { var ret = txn.TryGet(_table, _countersKey); return(ret.HasValue ? FromCountersTableValue(ret.Value) : new ReplicaCounters()); }