/// <summary> /// Get Product Attribute /// links: /// docLink: http://sql2x.org/documentationLink/06760f02-f3ec-45ad-bbfe-db43d7a0378f /// </summary> /// <template>DotNetFrameworkWithDurian</template> /// <cardinality>Many</cardinality> public List <ProductMaintenanceAttributeIndexWithFilterData> ProductMaintenanceAttributeIndexWithFilter( System.Guid productId ) { var ret = new List <ProductMaintenanceAttributeIndexWithFilterData>(); string sql = @" select [p].product_name ,[par].product_attribute_name ,[paur].product_attribute_unit_name ,[du].default_user_name ,[p].state_rcd ,[pa].product_id ,[pa].product_attribute_rcd ,[pa].product_attribute_unit_rcd ,[pa].value ,[pa].user_id ,[pa].date_time ,[pa].product_attribute_id from product_attribute as [pa] inner join product as [p] on [p].product_id = [pa].product_id inner join product_attribute_ref as [par] on [par].product_attribute_rcd = [pa].product_attribute_rcd left join product_attribute_unit_ref as [paur] on [paur].product_attribute_unit_rcd = [pa].product_attribute_unit_rcd inner join default_user as [du] on [du].default_user_id = [pa].user_id where 1 = 1 "; using (var conn = new SqlConnection(ConfigurationManager.AppSettings["Conn"])) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { if (productId != Guid.Empty) { command.Parameters.Add("@product_id", SqlDbType.UniqueIdentifier).Value = (System.Guid)productId; sql += " and [pa].product_id = @product_id"; } command.CommandText = sql; // Logging log = Logging.PerformanceTimeStart("ProductMaintenanceAttributeIndexWithFilter"); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // log.PerformanceTimeStop(sql, command); var ordinals = new ProductMaintenanceAttributeIndexWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new ProductMaintenanceAttributeIndexWithFilterData(); data.Populate(reader, ordinals); ret.Add(data); } reader.Close(); } return(ret); } }
// use ordinals to speed up access to DataReader // links: // docLink: http://sql2x.org/documentationLink/327451c3-64a8-4de8-b359-76742d634497 // parameters: // reader: IDataReader from SQLClient public void Populate(IDataReader reader, ProductMaintenanceAttributeIndexWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.ProductName)) { ProductName = reader.GetString(ordinals.ProductName); } if (!reader.IsDBNull(ordinals.ProductAttributeName)) { ProductAttributeName = reader.GetString(ordinals.ProductAttributeName); } if (!reader.IsDBNull(ordinals.ProductAttributeUnitName)) { ProductAttributeUnitName = reader.GetString(ordinals.ProductAttributeUnitName); } if (!reader.IsDBNull(ordinals.DefaultUserName)) { DefaultUserName = reader.GetString(ordinals.DefaultUserName); } if (!reader.IsDBNull(ordinals.StateRcd)) { StateRcd = reader.GetString(ordinals.StateRcd); } if (!reader.IsDBNull(ordinals.ProductId)) { ProductId = reader.GetGuid(ordinals.ProductId); } if (!reader.IsDBNull(ordinals.ProductAttributeRcd)) { ProductAttributeRcd = reader.GetString(ordinals.ProductAttributeRcd); } if (!reader.IsDBNull(ordinals.ProductAttributeUnitRcd)) { ProductAttributeUnitRcd = reader.GetString(ordinals.ProductAttributeUnitRcd); } if (!reader.IsDBNull(ordinals.Value)) { Value = reader.GetString(ordinals.Value); } if (!reader.IsDBNull(ordinals.UserId)) { UserId = reader.GetGuid(ordinals.UserId); } if (!reader.IsDBNull(ordinals.DateTime)) { DateTime = reader.GetDateTime(ordinals.DateTime); } if (!reader.IsDBNull(ordinals.ProductAttributeId)) { ProductAttributeId = reader.GetGuid(ordinals.ProductAttributeId); } }