/// <summary>Get Aircraft Document</summary> /// <cardinality>Many</cardinality> public List <AircraftMaintenanceDocumentIndexWithFilterData> AircraftMaintenanceDocumentIndexWithFilter( System.Guid aircraftId ) { var ret = new List <AircraftMaintenanceDocumentIndexWithFilterData>(); string sql = @" SELECT ad.aircraft_id ,a.aircraft_name AS aircraft_name ,ad.aircraft_document_type_rcd ,adtr.aircraft_document_type_name ,ad.document_name ,ad.document_date_time ,ad.expiry_date_time ,ad.user_id ,du.default_user_name ,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("AircraftMaintenanceDocumentIndexWithFilter"); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); log.PerformanceTimeStop(sql, command); var ordinals = new AircraftMaintenanceDocumentIndexWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new AircraftMaintenanceDocumentIndexWithFilterData(); 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, AircraftMaintenanceDocumentIndexWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.AircraftId)) { AircraftId = reader.GetGuid(ordinals.AircraftId); } if (!reader.IsDBNull(ordinals.AircraftName)) { AircraftName = reader.GetString(ordinals.AircraftName); } if (!reader.IsDBNull(ordinals.AircraftDocumentTypeRcd)) { AircraftDocumentTypeRcd = reader.GetString(ordinals.AircraftDocumentTypeRcd); } if (!reader.IsDBNull(ordinals.AircraftDocumentTypeName)) { AircraftDocumentTypeName = reader.GetString(ordinals.AircraftDocumentTypeName); } if (!reader.IsDBNull(ordinals.DocumentName)) { DocumentName = reader.GetString(ordinals.DocumentName); } 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.DefaultUserName)) { DefaultUserName = reader.GetString(ordinals.DefaultUserName); } if (!reader.IsDBNull(ordinals.DateTime)) { DateTime = reader.GetDateTime(ordinals.DateTime); } if (!reader.IsDBNull(ordinals.AircraftDocumentId)) { AircraftDocumentId = reader.GetGuid(ordinals.AircraftDocumentId); } }