// 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, DefaultIssueWithFilterDataOrdinals ordinals) { if (!reader.IsDBNull(ordinals.DefaultIssueTypeRcd)) { DefaultIssueTypeRcd = reader.GetString(ordinals.DefaultIssueTypeRcd); } if (!reader.IsDBNull(ordinals.DefaultIssueTypeName)) { DefaultIssueTypeName = reader.GetString(ordinals.DefaultIssueTypeName); } if (!reader.IsDBNull(ordinals.DefaultIssueStatusRcd)) { DefaultIssueStatusRcd = reader.GetString(ordinals.DefaultIssueStatusRcd); } if (!reader.IsDBNull(ordinals.DefaultIssueStatusName)) { DefaultIssueStatusName = reader.GetString(ordinals.DefaultIssueStatusName); } if (!reader.IsDBNull(ordinals.DefaultErrorId)) { DefaultErrorId = reader.GetGuid(ordinals.DefaultErrorId); } if (!reader.IsDBNull(ordinals.MethodName)) { MethodName = reader.GetString(ordinals.MethodName); } if (!reader.IsDBNull(ordinals.IssueName)) { IssueName = reader.GetString(ordinals.IssueName); } if (!reader.IsDBNull(ordinals.IssueDescription)) { IssueDescription = reader.GetString(ordinals.IssueDescription); } if (!reader.IsDBNull(ordinals.StepsToReproduce)) { StepsToReproduce = reader.GetString(ordinals.StepsToReproduce); } if (!reader.IsDBNull(ordinals.Link)) { Link = reader.GetString(ordinals.Link); } if (!reader.IsDBNull(ordinals.DateTime)) { DateTime = reader.GetDateTime(ordinals.DateTime); } if (!reader.IsDBNull(ordinals.DefaultIssueId)) { DefaultIssueId = reader.GetGuid(ordinals.DefaultIssueId); } }
/// <summary>Get Default Issue</summary> /// <cardinality>Many</cardinality> public List <DefaultIssueWithFilterData> DefaultIssueWithFilter( System.String defaultIssueTypeRcd , System.String defaultIssueStatusRcd ) { var ret = new List <DefaultIssueWithFilterData>(); string sql = @" select di.default_issue_type_rcd ,ditr.default_issue_type_name ,di.default_issue_status_rcd ,disr.default_issue_status_name ,di.default_error_id ,de.method_name as method_name ,di.issue_name ,di.issue_description ,di.steps_to_reproduce ,di.link ,di.date_time ,di.default_issue_id from default_issue as di inner join default_issue_type_ref as ditr on ditr.default_issue_type_rcd = di.default_issue_type_rcd inner join default_issue_status_ref as disr on disr.default_issue_status_rcd = di.default_issue_status_rcd left join default_error as de on de.default_error_id = di.default_error_id where 1=1 "; Logging log = Logging.PerformanceTimeStart("DefaultIssueWithFilter"); try { using (var conn = new SqlConnection(ConfigurationManager.AppSettings["Conn"])) { conn.Open(); conn.BeginTransaction(IsolationLevel.ReadUncommitted).Commit(); using (var command = new SqlCommand(sql, conn)) { if (defaultIssueTypeRcd != null) { command.Parameters.Add("@default_issue_type_rcd", SqlDbType.NVarChar).Value = defaultIssueTypeRcd; sql += " and di.default_issue_type_rcd = @default_issue_type_rcd\r\n"; } if (defaultIssueStatusRcd != null) { command.Parameters.Add("@default_issue_status_rcd", SqlDbType.NVarChar).Value = defaultIssueStatusRcd; sql += " and di.default_issue_status_rcd = @default_issue_status_rcd\r\n"; } sql += @" order by di.date_time desc" ; command.CommandText = sql; log.PerformanceTimePrepare(command); IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); log.PerformanceTimeCheck(); var ordinals = new DefaultIssueWithFilterDataOrdinals(reader); while (reader.Read()) { var data = new DefaultIssueWithFilterData(); data.Populate(reader, ordinals); ret.Add(data); } reader.Close(); } } } catch (Exception ex) { log.Error(ex); } return(ret); }