// 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, FetchServiceSpecialServiceRequestWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestGroupRcd)) { ServiceSpecialServiceRequestGroupRcd = reader.GetString(ordinals.ServiceSpecialServiceRequestGroupRcd); } if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestGroupName)) { ServiceSpecialServiceRequestGroupName = reader.GetString(ordinals.ServiceSpecialServiceRequestGroupName); } if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestCode)) { ServiceSpecialServiceRequestCode = reader.GetString(ordinals.ServiceSpecialServiceRequestCode); } if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestName)) { ServiceSpecialServiceRequestName = reader.GetString(ordinals.ServiceSpecialServiceRequestName); } if (!reader.IsDBNull(ordinals.ServiceDescription)) { ServiceDescription = reader.GetString(ordinals.ServiceDescription); } if (!reader.IsDBNull(ordinals.Amount)) { Amount = reader.GetDecimal(ordinals.Amount); } if (!reader.IsDBNull(ordinals.FinancialCurrencyId)) { FinancialCurrencyId = reader.GetGuid(ordinals.FinancialCurrencyId); } if (!reader.IsDBNull(ordinals.FinancialCurrencyTypeName)) { FinancialCurrencyTypeName = reader.GetString(ordinals.FinancialCurrencyTypeName); } if (!reader.IsDBNull(ordinals.InventoryControlledFlag)) { InventoryControlledFlag = reader.GetBoolean(ordinals.InventoryControlledFlag); } if (!reader.IsDBNull(ordinals.RequestServiceSpecialServiceRequestRequirementRcd)) { RequestServiceSpecialServiceRequestRequirementRcd = reader.GetString(ordinals.RequestServiceSpecialServiceRequestRequirementRcd); } if (!reader.IsDBNull(ordinals.RequestRequirementName)) { RequestRequirementName = reader.GetString(ordinals.RequestRequirementName); } if (!reader.IsDBNull(ordinals.ReplyServiceSpecialServiceRequestRequirementRcd)) { ReplyServiceSpecialServiceRequestRequirementRcd = reader.GetString(ordinals.ReplyServiceSpecialServiceRequestRequirementRcd); } if (!reader.IsDBNull(ordinals.ReplyRequirementName)) { ReplyRequirementName = reader.GetString(ordinals.ReplyRequirementName); } if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestOperationRuleRcd)) { ServiceSpecialServiceRequestOperationRuleRcd = reader.GetString(ordinals.ServiceSpecialServiceRequestOperationRuleRcd); } if (!reader.IsDBNull(ordinals.ServiceSpecialServiceRequestOperationRuleName)) { ServiceSpecialServiceRequestOperationRuleName = reader.GetString(ordinals.ServiceSpecialServiceRequestOperationRuleName); } 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.ServiceSpecialServiceRequestId)) { ServiceSpecialServiceRequestId = reader.GetGuid(ordinals.ServiceSpecialServiceRequestId); } }
/// <summary>Get Service Special Service Request</summary> /// <cardinality>Many</cardinality> public List <FetchServiceSpecialServiceRequestWithFilterData> FetchServiceSpecialServiceRequestWithFilter( System.String serviceSpecialServiceRequestGroupRcd , System.String serviceSpecialServiceRequestCode , System.String requestServiceSpecialServiceRequestRequirementRcd , System.String replyServiceSpecialServiceRequestRequirementRcd , System.String serviceSpecialServiceRequestOperationRuleRcd ) { var ret = new List <FetchServiceSpecialServiceRequestWithFilterData>(); string sql = @" select sssr.service_special_service_request_group_rcd ,sssrgr.service_special_service_request_group_name ,sssr.service_special_service_request_code ,sssr.service_special_service_request_name ,sssr.service_description ,sssr.amount ,sssr.financial_currency_id ,fc.financial_currency_type_name as financial_currency_type_name ,sssr.inventory_controlled_flag ,sssr.request_service_special_service_request_requirement_rcd ,rsssrrr.service_special_service_request_requirement_name as request_requirement_name ,sssr.reply_service_special_service_request_requirement_rcd ,resssrrr.service_special_service_request_requirement_name as reply_requirement_name ,sssr.service_special_service_request_operation_rule_rcd ,sssrorr.service_special_service_request_operation_rule_name ,sssr.user_id ,du.default_user_name ,sssr.date_time ,sssr.service_special_service_request_id from service_special_service_request as sssr inner join service_special_service_request_group_ref as sssrgr on sssrgr.service_special_service_request_group_rcd = sssr.service_special_service_request_group_rcd left join financial_currency as fc on fc.financial_currency_id = sssr.financial_currency_id inner join service_special_service_request_requirement_ref as rsssrrr on rsssrrr.service_special_service_request_requirement_rcd = sssr.request_service_special_service_request_requirement_rcd inner join service_special_service_request_requirement_ref as resssrrr on resssrrr.service_special_service_request_requirement_rcd = sssr.reply_service_special_service_request_requirement_rcd inner join service_special_service_request_operation_rule_ref as sssrorr on sssrorr.service_special_service_request_operation_rule_rcd = sssr.service_special_service_request_operation_rule_rcd inner join default_user as du on du.default_user_id = sssr.user_id "; using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); conn.BeginTransaction(IsolationLevel.ReadUncommitted).Commit(); using (var command = new SqlCommand(sql, conn)) { command.Parameters.Add("@service_special_service_request_group_rcd", SqlDbType.NVarChar).Value = serviceSpecialServiceRequestGroupRcd; command.Parameters.Add("@service_special_service_request_code", SqlDbType.NVarChar).Value = serviceSpecialServiceRequestCode; command.Parameters.Add("@request_service_special_service_request_requirement_rcd", SqlDbType.NVarChar).Value = requestServiceSpecialServiceRequestRequirementRcd; command.Parameters.Add("@reply_service_special_service_request_requirement_rcd", SqlDbType.NVarChar).Value = replyServiceSpecialServiceRequestRequirementRcd; command.Parameters.Add("@service_special_service_request_operation_rule_rcd", SqlDbType.NVarChar).Value = serviceSpecialServiceRequestOperationRuleRcd; Logging log = Logging.PerformanceTimeStart("FetchServiceSpecialServiceRequestWithFilter"); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); log.PerformanceTimeStop(sql, command); var ordinals = new FetchServiceSpecialServiceRequestWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new FetchServiceSpecialServiceRequestWithFilterData(); data.Populate(reader, ordinals); ret.Add(data); } reader.Close(); } return(ret); } }