/// <summary> /// Get Aircraft Document /// links: /// docLink: http://sql2x.org/documentationLink/06760f02-f3ec-45ad-bbfe-db43d7a0378f /// </summary> /// <template>DotNetFrameworkWithDurian</template> /// <cardinality>Many</cardinality> public List <AircraftDocumentIndexWithFilterData> AircraftDocumentIndexWithFilter( System.Guid aircraftId ) { var ret = new List <AircraftDocumentIndexWithFilterData>(); string sql = @" select [a].aircraft_name ,[adtr].aircraft_document_type_name ,[ad].document_name ,[du].default_user_name ,[a].engine_type ,[ad].aircraft_id ,[ad].aircraft_document_type_rcd ,[ad].document_date_time ,[ad].expiry_date_time ,[ad].user_id ,[ad].date_time ,[ad].aircraft_document_id from aircraft_document as [ad] inner join aircraft as [a] on [a].aircraft_id = [ad].aircraft_id inner join aircraft_document_type_ref as [adtr] on [adtr].aircraft_document_type_rcd = [ad].aircraft_document_type_rcd inner join default_user as [du] on [du].default_user_id = [ad].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 [ad].aircraft_id = @aircraft_id"; } command.CommandText = sql; // Logging log = Logging.PerformanceTimeStart("AircraftDocumentIndexWithFilter"); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // log.PerformanceTimeStop(sql, command); var ordinals = new AircraftDocumentIndexWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new AircraftDocumentIndexWithFilterData(); 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, AircraftDocumentIndexWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.AircraftName)) { AircraftName = reader.GetString(ordinals.AircraftName); } if (!reader.IsDBNull(ordinals.AircraftDocumentTypeName)) { AircraftDocumentTypeName = reader.GetString(ordinals.AircraftDocumentTypeName); } if (!reader.IsDBNull(ordinals.DocumentName)) { DocumentName = reader.GetString(ordinals.DocumentName); } 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.AircraftDocumentTypeRcd)) { AircraftDocumentTypeRcd = reader.GetString(ordinals.AircraftDocumentTypeRcd); } if (!reader.IsDBNull(ordinals.DocumentDateTime)) { DocumentDateTime = reader.GetDateTime(ordinals.DocumentDateTime); } if (!reader.IsDBNull(ordinals.ExpiryDateTime)) { ExpiryDateTime = reader.GetDateTime(ordinals.ExpiryDateTime); } if (!reader.IsDBNull(ordinals.UserId)) { UserId = reader.GetGuid(ordinals.UserId); } if (!reader.IsDBNull(ordinals.DateTime)) { DateTime = reader.GetDateTime(ordinals.DateTime); } if (!reader.IsDBNull(ordinals.AircraftDocumentId)) { AircraftDocumentId = reader.GetGuid(ordinals.AircraftDocumentId); } }