/// <summary> /// Get Aircraft Compartment /// links: /// docLink: http://sql2x.org/documentationLink/06760f02-f3ec-45ad-bbfe-db43d7a0378f /// </summary> /// <template>DotNetFrameworkWithDurian</template> /// <cardinality>Many</cardinality> public List <AircraftCompartmentIndexWithFilterData> AircraftCompartmentIndexWithFilter( System.Guid aircraftId ) { var ret = new List <AircraftCompartmentIndexWithFilterData>(); string sql = @" select [a].aircraft_name ,[actr].aircraft_compartment_type_name ,[ac].aircraft_compartment_name ,[du].default_user_name ,[a].engine_type ,[ac].aircraft_id ,[ac].aircraft_compartment_measurement_id ,[ac].aircraft_compartment_type_rcd ,[ac].user_id ,[ac].date_time ,[ac].aircraft_compartment_id from aircraft_compartment as [ac] inner join aircraft as [a] on [a].aircraft_id = [ac].aircraft_id left join aircraft_compartment_measurement as [acm] on [acm].aircraft_compartment_measurement_id = [ac].aircraft_compartment_measurement_id inner join aircraft_compartment_type_ref as [actr] on [actr].aircraft_compartment_type_rcd = [ac].aircraft_compartment_type_rcd inner join default_user as [du] on [du].default_user_id = [ac].user_id where 1 = 1 "; using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { if (aircraftId != Guid.Empty) { command.Parameters.Add("@aircraft_id", SqlDbType.UniqueIdentifier).Value = (System.Guid)aircraftId; sql += " and [ac].aircraft_id = @aircraft_id"; } command.CommandText = sql; // Logging log = Logging.PerformanceTimeStart("AircraftCompartmentIndexWithFilter"); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // log.PerformanceTimeStop(sql, command); var ordinals = new AircraftCompartmentIndexWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new AircraftCompartmentIndexWithFilterData(); data.Populate(reader, ordinals); ret.Add(data); } reader.Close(); } return(ret); } }
// use ordinals to speed up access to DataReader // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/327451c3-64a8-4de8-b359-76742d634497 // parameters: // reader: IDataReader from SQLClient public void Populate(IDataReader reader, AircraftCompartmentIndexWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.AircraftName)) { AircraftName = reader.GetString(ordinals.AircraftName); } if (!reader.IsDBNull(ordinals.AircraftCompartmentTypeName)) { AircraftCompartmentTypeName = reader.GetString(ordinals.AircraftCompartmentTypeName); } if (!reader.IsDBNull(ordinals.AircraftCompartmentName)) { AircraftCompartmentName = reader.GetString(ordinals.AircraftCompartmentName); } if (!reader.IsDBNull(ordinals.DefaultUserName)) { DefaultUserName = reader.GetString(ordinals.DefaultUserName); } if (!reader.IsDBNull(ordinals.EngineType)) { EngineType = reader.GetString(ordinals.EngineType); } if (!reader.IsDBNull(ordinals.AircraftId)) { AircraftId = reader.GetGuid(ordinals.AircraftId); } if (!reader.IsDBNull(ordinals.AircraftCompartmentMeasurementId)) { AircraftCompartmentMeasurementId = reader.GetGuid(ordinals.AircraftCompartmentMeasurementId); } if (!reader.IsDBNull(ordinals.AircraftCompartmentTypeRcd)) { AircraftCompartmentTypeRcd = reader.GetString(ordinals.AircraftCompartmentTypeRcd); } if (!reader.IsDBNull(ordinals.UserId)) { UserId = reader.GetGuid(ordinals.UserId); } if (!reader.IsDBNull(ordinals.DateTime)) { DateTime = reader.GetDateTime(ordinals.DateTime); } if (!reader.IsDBNull(ordinals.AircraftCompartmentId)) { AircraftCompartmentId = reader.GetGuid(ordinals.AircraftCompartmentId); } }