// transfer model to data and insert // links: // docLink: http://sql2x.org/documentationLink/17cd8423-3c78-459f-a45b-773fcfbc3b7d public void Insert(CrudeFlightIdentifierModel model) { var data = new CrudeFlightIdentifierData(); ModelToData(model, data); data.Insert(); }
// transfer model to data and update, on a transaction // links: // docLink: http://sql2x.org/documentationLink/aa07e05b-edc8-4e09-bf93-bf2a40c93c09 public void Update(CrudeFlightIdentifierModel model, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeFlightIdentifierData(); ModelToData(model, data); data.Update(connection, transaction); }
// transfer model to data and update // links: // docLink: http://sql2x.org/documentationLink/658fda50-2ad3-414e-9299-2b399d17a057 public void Update(CrudeFlightIdentifierModel model) { var data = new CrudeFlightIdentifierData(); ModelToData(model, data); data.Update(); }
// update all object members on a row in table based on primary key // links: // docLink: http://sql2x.org/documentationLink/ce75e72e-fb16-4f4e-a2e6-dbd079dfa206 public void Update(CrudeFlightIdentifierContract contract) { var data = new CrudeFlightIdentifierData(); ContractToData(contract, data); data.Update(); }
// update all object members on a row in table based on primary key, on a transaction // the transaction and or connection state is not changed in any way other than what SqlClient does to it. // it is the callers responsibility to commit or rollback the transaction // links: // docLink: http://sql2x.org/documentationLink/b798ad6b-f4b8-466a-9086-6588a814fcf3 public void Update(CrudeFlightIdentifierContract contract, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeFlightIdentifierData(); ContractToData(contract, data); data.Update(connection, transaction); }
// insert all object members as a new row in table // links: // docLink: http://sql2x.org/documentationLink/75aad010-e6aa-4f19-a6e5-597456aa20d8 public void Insert(CrudeFlightIdentifierContract contract) { var data = new CrudeFlightIdentifierData(); ContractToData(contract, data); data.Insert(); }
// copy all columns from a serialized data object to a SOAP Contract // links: // docLink: http://sql2x.org/documentationLink/7553d6dd-da65-4a72-84c8-81f2f99ef4f5 public static void DataToContract(CrudeFlightIdentifierData data, CrudeFlightIdentifierContract contract) { contract.FlightIdentifierId = data.FlightIdentifierId; contract.FlightId = data.FlightId; contract.FlightIdentifierCode = data.FlightIdentifierCode; contract.FlightIdentifierTypeRcd = data.FlightIdentifierTypeRcd; contract.UserId = data.UserId; contract.DateTime = data.DateTime; }
// copy all columns from a SOAP Contract to a serialized data object // links: // docLink: http://sql2x.org/documentationLink/10700d38-2227-4021-be12-2f4f206f5dd9 public static void ContractToData(CrudeFlightIdentifierContract contract, CrudeFlightIdentifierData data) { data.FlightIdentifierId = contract.FlightIdentifierId; data.FlightId = contract.FlightId; data.FlightIdentifierCode = contract.FlightIdentifierCode; data.FlightIdentifierTypeRcd = contract.FlightIdentifierTypeRcd; data.UserId = contract.UserId; data.DateTime = contract.DateTime; }
// transfer model object to data object // links: // docLink: http://sql2x.org/documentationLink/95875d99-b7f7-4a9e-baa4-3fbe9925d8a2 public static void ModelToData(CrudeFlightIdentifierModel model, CrudeFlightIdentifierData data) { data.FlightIdentifierId = model.FlightIdentifierId; data.FlightId = model.FlightId; data.FlightIdentifierCode = model.FlightIdentifierCode; data.FlightIdentifierTypeRcd = model.FlightIdentifierTypeRcd; data.UserId = model.UserId; data.DateTime = model.DateTime; }
// transfer data object to model object // links: // docLink: http://sql2x.org/documentationLink/43d57600-5ff5-4ef8-9330-123773d100d3 public static void DataToModel(CrudeFlightIdentifierData data, CrudeFlightIdentifierModel model) { model.FlightIdentifierId = data.FlightIdentifierId; model.FlightId = data.FlightId; model.FlightIdentifierCode = data.FlightIdentifierCode; model.FlightIdentifierTypeRcd = data.FlightIdentifierTypeRcd; model.UserId = data.UserId; model.DateTime = data.DateTime; }
// transfer model list to data list // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/1d6a48d9-fe39-4397-b8fa-a332da164cbf // parameters: // CrudeFlightIdentifierData: key of table CrudeFlightIdentifierData public static void ModelListToDataList(List <CrudeFlightIdentifierModel> modelList, List <CrudeFlightIdentifierData> dataList) { foreach (CrudeFlightIdentifierModel model in modelList) { var data = new CrudeFlightIdentifierData(); ModelToData(model, data); dataList.Add(data); } }
// copy all rows from a List of SOAP Contracts to a List of serialized data objects // links: // docLink: http://sql2x.org/documentationLink/1c6c6b9c-e201-4590-8c69-d38a0ad2a9f7 public static void ContractListToDataList(List <CrudeFlightIdentifierContract> contractList, List <CrudeFlightIdentifierData> dataList) { foreach (CrudeFlightIdentifierContract contract in contractList) { var data = new CrudeFlightIdentifierData(); CrudeFlightIdentifierService.ContractToData(contract, data); dataList.Add(data); } }
// fetch all from table into new List of class instances, only populating specific columns, // with a limit on number of returned rows and order by columns starting at a specific row // links: // docLink: http://sql2x.org/documentationLink/12d2812e-e963-4f26-8014-48c4e9cfb3ae public static List <CrudeFlightIdentifierData> FetchAllWithLimitAndOffset(int limit, int offset) { var dataList = new List <CrudeFlightIdentifierData>(); // create query against flight_identifier // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/21eca289-4747-4a75-b0a2-1a58457be608 string sql = @" select flight_identifier_id, flight_id, flight_identifier_code, flight_identifier_type_rcd, user_id, date_time from [flight_identifier] order by flight_identifier_code"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/c3e624a4-8479-4c17-bec7-ec09f3abbe64 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against flight_identifier // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/6507b543-adbc-4863-810b-8db439f40d5c IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); int count = 0; // read all rows returned from the query of flight_identifier // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/fcd15e2f-df3f-44d8-8a13-d2e93d97f685 while (reader.Read()) { if ((count >= offset) && (count <= offset + limit)) { var data = new CrudeFlightIdentifierData(); data.Populate(reader); dataList.Add(data); } count++; if (count > limit + offset) { break; } } } return(dataList); } }
// fetch by Primary key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/bbab4791-c9e7-49bf-90d5-fca19b1fedaa // parameters: // flightIdentifierId: primary key of table flight_identifier public CrudeFlightIdentifierContract FetchByFlightIdentifierId(System.Guid flightIdentifierId) { var dataAccessLayer = new CrudeFlightIdentifierData(); var contract = new CrudeFlightIdentifierContract(); dataAccessLayer.FetchByFlightIdentifierId(flightIdentifierId); DataToContract(dataAccessLayer, contract); return(contract); }
// fetch by Primary key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/fdcc33b4-08f1-43c3-ae28-95fbf029c3bd // parameters: // CrudeFlightIdentifierData: primary key of table CrudeFlightIdentifierData public CrudeFlightIdentifierModel FetchByFlightIdentifierId(System.Guid flightIdentifierId) { var dataAccessLayer = new CrudeFlightIdentifierData(); var model = new CrudeFlightIdentifierModel(); dataAccessLayer.FetchByFlightIdentifierId(flightIdentifierId); DataToModel(dataAccessLayer, model); return(model); }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/13095cd7-f136-4532-8969-c50c62cc05ef public static List <CrudeFlightIdentifierData> FetchByFlightIdentifierTypeRcd(string flightIdentifierTypeRcd) { var dataList = new List <CrudeFlightIdentifierData>(); // create query against flight_identifier // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/86c78f05-a65f-4dfe-b048-d0cbece49f4e string sql = @" select flight_identifier_id, flight_id, flight_identifier_code, flight_identifier_type_rcd, user_id, date_time from [flight_identifier] where flight_identifier_type_rcd = @flight_identifier_type_rcd order by flight_identifier_code"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/6fd25822-459f-4796-803a-071a3a270aa0 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // add foreign key column // this foreign key column will be used together with the prepared ansi sql statement // links: // docLink: http://sql2x.org/documentationLink/8aec2e5c-4732-4662-badb-83b89d1c34a9 command.Parameters.Add("@flight_identifier_type_rcd", SqlDbType.NVarChar).Value = flightIdentifierTypeRcd.Replace("'", "''"); // execute query against flight_identifier // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/bb9abe5c-d2c1-455a-b597-a2af0a35de5a IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of flight_identifier // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/5c413c03-5ddc-472a-a63d-53aecc7a2573 while (reader.Read()) { var data = new CrudeFlightIdentifierData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// copy all rows from a List of serialized data objects to a List of SOAP Contracts, // with a limit on number of returned rows and order by columns, starting at a specific row // links: // docLink: http://sql2x.org/documentationLink/3fe9f1b3-97b6-4f58-a0f2-adfcbd973bfc public List <CrudeFlightIdentifierContract> FetchAllWithLimitAndOffset(int limit, int offset) { var list = new List <CrudeFlightIdentifierContract>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchAllWithLimitAndOffset(limit, offset); foreach (CrudeFlightIdentifierData crudeFlightIdentifier in dataList) { var contract = new CrudeFlightIdentifierContract(); DataToContract(crudeFlightIdentifier, contract); list.Add(contract); } return(list); }
// fetch all from table into new List of class instances, filtered by any column // links: // docLink: http://sql2x.org/documentationLink/db27658d-4d23-46d7-9970-7bbaef8634b0 public List <CrudeFlightIdentifierModel> FetchWithFilter(System.Guid flightIdentifierId, System.Guid flightId, string flightIdentifierCode, string flightIdentifierTypeRcd, System.Guid userId, System.DateTime dateTime) { var list = new List <CrudeFlightIdentifierModel>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchWithFilter(flightIdentifierId, flightId, flightIdentifierCode, flightIdentifierTypeRcd, userId, dateTime); foreach (CrudeFlightIdentifierData data in dataList) { var crudeFlightIdentifierBusinessModel = new CrudeFlightIdentifierModel(); DataToModel(data, crudeFlightIdentifierBusinessModel); list.Add(crudeFlightIdentifierBusinessModel); } return(list); }
// fetch all rows from table with an offset, and limit of rows // links: // docLink: http://sql2x.org/documentationLink/a87e5c54-b47e-4031-bc3b-837b4cf9f692 public List <CrudeFlightIdentifierModel> FetchAllWithLimitAndOffset(string limit, string offset) { var list = new List <CrudeFlightIdentifierModel>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchAllWithLimitAndOffset(int.Parse(limit), int.Parse(offset)); foreach (CrudeFlightIdentifierData crudeFlightIdentifierBusiness in dataList) { var model = new CrudeFlightIdentifierModel(); DataToModel(crudeFlightIdentifierBusiness, model); list.Add(model); } return(list); }
// copy all rows from a List of serialized data objects in CrudeFlightIdentifierData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/3d3e60c3-69e4-43d6-8bd5-14a67a6ecf58 public List <CrudeFlightIdentifierModel> FetchAll() { var list = new List <CrudeFlightIdentifierModel>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchAll(); foreach (CrudeFlightIdentifierData crudeFlightIdentifierBusiness in dataList) { var model = new CrudeFlightIdentifierModel(); DataToModel(crudeFlightIdentifierBusiness, model); list.Add(model); } return(list); }
// copy all rows from a List of serialized data objects in CrudeFlightIdentifierData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/9204c68e-93b8-4c77-af3c-3181985ff75f public List <CrudeFlightIdentifierContract> FetchAll() { var list = new List <CrudeFlightIdentifierContract>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchAll(); foreach (CrudeFlightIdentifierData crudeFlightIdentifier in dataList) { var contract = new CrudeFlightIdentifierContract(); DataToContract(crudeFlightIdentifier, contract); list.Add(contract); } return(list); }
// fetch by Primary key into new class instance // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/7a625d0a-3028-42ce-a543-72ea3673cef4 // parameters: // flightIdentifierId: primary key of table flight_identifier public static CrudeFlightIdentifierData GetByFlightIdentifierId(System.Guid flightIdentifierId) { // create query against flight_identifier // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/72f5fc83-c460-40fe-bac9-73b7ee0c6b77 string sql = @" select top 1 flight_identifier_id, flight_id, flight_identifier_code, flight_identifier_type_rcd, user_id, date_time from [flight_identifier] where flight_identifier_id = @flight_identifier_id order by flight_identifier_code"; var ret = new CrudeFlightIdentifierData(); // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/1ecca728-0c07-4dd7-b095-d10777b25b70 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // add primary key // this primary key will be used together with the prepared ansi sql statement // links: // docLink: http://sql2x.org/documentationLink/1ecca728-0c07-4dd7-b095-d10777b25b70 command.Parameters.Add("@flight_identifier_id", SqlDbType.UniqueIdentifier).Value = flightIdentifierId; // execute query against flight_identifier // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/fd5c5faa-b400-4f29-b12b-9675c53a757f IDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow); // populate serialized class if a row was found if (reader.Read()) { ret.Populate(reader); } } } return(ret); }
// fetch all rows from table flight_identifier into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/7ca0c014-527e-4a0a-bd1f-12f4d8ea4b43 public static List <CrudeFlightIdentifierData> FetchAll() { var dataList = new List <CrudeFlightIdentifierData>(); // create query against flight_identifier // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/72f9f1bc-447c-4327-9d26-4b0790a07ff8 string sql = @" select flight_identifier_id, flight_id, flight_identifier_code, flight_identifier_type_rcd, user_id, date_time from [flight_identifier] order by flight_identifier_code"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/952b3f82-bc00-4e82-9430-6bc26ff8bc4d using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against flight_identifier // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/ed55cc5b-d6be-4f5e-9385-ee726dfc2bf1 IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of flight_identifier // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/c1b8b800-b250-4822-a699-d93a35f4414d while (reader.Read()) { var data = new CrudeFlightIdentifierData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// fetch all from table into new List of class instances, with a limit on number of returned rows and order by columns // links: // docLink: http://sql2x.org/documentationLink/dfaa482b-059b-4f17-a9a9-4885138dbb46 public static List <CrudeFlightIdentifierData> FetchAllWithLimit(int limit) { var dataList = new List <CrudeFlightIdentifierData>(); // create query against flight_identifier // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/41f82773-6d37-4ebe-840c-c60e06337f45 string sql = @" select top " + limit.ToString() + @" flight_identifier_id, flight_id, flight_identifier_code, flight_identifier_type_rcd, user_id, date_time from [flight_identifier] order by flight_identifier_code"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/da228d98-b30e-4d79-89ae-98e813437753 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against flight_identifier // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/c32ad724-8a03-4b4c-b6fb-a5abfb1d707e IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of flight_identifier // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/9ba4395d-d8a4-4427-b80f-7b828e34da7a while (reader.Read()) { var data = new CrudeFlightIdentifierData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// fetch all rows from table into new List of Contracts, filtered by any column // links: // docLink: http://sql2x.org/documentationLink/ce01ef4a-5cd0-4e51-b211-9c0a15b791a0 public List <CrudeFlightIdentifierContract> FetchWithFilter(System.Guid flightIdentifierId, System.Guid flightId, string flightIdentifierCode, string flightIdentifierTypeRcd, System.Guid userId, System.DateTime dateTime) { var list = new List <CrudeFlightIdentifierContract>(); List <CrudeFlightIdentifierData> dataList = CrudeFlightIdentifierData.FetchWithFilter( flightIdentifierId: flightIdentifierId, flightId: flightId, flightIdentifierCode: flightIdentifierCode, flightIdentifierTypeRcd: flightIdentifierTypeRcd, userId: userId, dateTime: dateTime ); foreach (CrudeFlightIdentifierData data in dataList) { var crudeFlightIdentifierContract = new CrudeFlightIdentifierContract(); DataToContract(data, crudeFlightIdentifierContract); list.Add(crudeFlightIdentifierContract); } return(list); }
// delete row // links: // docLink: http://sql2x.org/documentationLink/59823bf7-4ad8-4684-a48b-2abd49c607ee public void Delete(System.Guid flightIdentifierId) { CrudeFlightIdentifierData.Delete(flightIdentifierId); }
// get a count of rows in table // links: // docLink: http://sql2x.org/documentationLink/39677f9e-daee-45c6-9527-da98a0d7958d public int FetchAllCount() { return(CrudeFlightIdentifierData.FetchAllCount()); }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // FlightIdentifierTypeRcd: key of table CrudeFlightIdentifierData public List <CrudeFlightIdentifierModel> FetchByFlightIdentifierTypeRcd(string flightIdentifierTypeRcd) { return(DataListToModelList(CrudeFlightIdentifierData.FetchByFlightIdentifierTypeRcd(flightIdentifierTypeRcd))); }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // UserId: key of table CrudeFlightIdentifierData public List <CrudeFlightIdentifierModel> FetchByUserId(System.Guid userId) { return(DataListToModelList(CrudeFlightIdentifierData.FetchByUserId(userId))); }
public void UpdateFlight( FlightContract flightContract, Guid userId ) { Logging.ActionLog("SolutionNorSolutionPort.BusinessLogicLayer.FlightService.UpdateFlight", userId ); // start transaction using (var connection = new SqlConnection(Conn.ConnectionString)) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); try { // insert new flight var crudeNewFlightData = new CrudeFlightData(); CrudeFlightService.ContractToData( flightContract.Flight, crudeNewFlightData ); crudeNewFlightData.FlightId = Guid.NewGuid(); // binding flight id carries on forward crudeNewFlightData.BindingFlightId = flightContract.Flight.BindingFlightId; crudeNewFlightData.UserId = userId; crudeNewFlightData.DateTime = DateTime.UtcNow; crudeNewFlightData.Insert(connection, transaction); // todo, can be more than one if (!String.IsNullOrEmpty(flightContract.FlightIdentifier.FlightIdentifierCode)) { var crudeNewFlightIdentifierData = new CrudeFlightIdentifierData(); CrudeFlightIdentifierService.ContractToData( flightContract.FlightIdentifier, crudeNewFlightIdentifierData ); crudeNewFlightIdentifierData.FlightIdentifierId = Guid.NewGuid(); crudeNewFlightIdentifierData.FlightId = crudeNewFlightData.FlightId; crudeNewFlightIdentifierData.FlightIdentifierTypeRcd = FlightIdentifierTypeRef.FlightNumberThree; crudeNewFlightIdentifierData.DateTime = DateTime.UtcNow; crudeNewFlightIdentifierData.UserId = userId; crudeNewFlightIdentifierData.Insert(connection, transaction); } // update old flight schedule 'became' identifier var crudeOldFlightData = new CrudeFlightData(); crudeOldFlightData.FetchByFlightId(flightContract.Flight.FlightId); crudeOldFlightData.BecameFlightId = crudeNewFlightData.FlightId; crudeOldFlightData.Update(connection, transaction); // copy segments List <CrudeFlightSegmentData> crudeFlightSegmentsData = CrudeFlightSegmentData.FetchByFlightId( flightContract.Flight.FlightId ); foreach (CrudeFlightSegmentData crudeFlightSegmentData in crudeFlightSegmentsData) { crudeFlightSegmentData.FlightSegmentId = Guid.NewGuid(); crudeFlightSegmentData.FlightId = crudeNewFlightData.FlightId; crudeFlightSegmentData.DateTime = DateTime.UtcNow; crudeFlightSegmentData.UserId = userId; crudeFlightSegmentData.Insert(connection, transaction); } // commit transaction transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); Logging.ErrorLog("Flight", "FlightService", "UpdateFlight", ex.Message, ex.StackTrace, userId ); throw ex; } } }