/// <summary> /// Reads data from the provided data reader and returns /// an array of mapped objects. /// </summary> /// <param name="reader">The <see cref="System.Data.IDataReader"/> object to read data from the view.</param> /// <param name="startIndex">The index of the first record to map.</param> /// <param name="length">The number of records to map.</param> /// <param name="totalRecordCount">A reference parameter that returns the total number /// of records in the reader object if 0 was passed into the method; otherwise it returns -1.</param> /// <returns>An array of <see cref="OutDialPeerViewRow"/> objects.</returns> protected virtual OutDialPeerViewRow[] MapRecords(IDataReader reader, int startIndex, int length, ref int totalRecordCount) { if (0 > startIndex) { throw new ArgumentOutOfRangeException("startIndex", startIndex, "StartIndex cannot be less than zero."); } if (0 > length) { throw new ArgumentOutOfRangeException("length", length, "Length cannot be less than zero."); } int end_point_idColumnIndex = reader.GetOrdinal("end_point_id"); int carrier_acct_idColumnIndex = reader.GetOrdinal("carrier_acct_id"); int aliasColumnIndex = reader.GetOrdinal("alias"); int carrier_acct_nameColumnIndex = reader.GetOrdinal("carrier_acct_name"); int carrier_acct_statusColumnIndex = reader.GetOrdinal("carrier_acct_status"); int prefix_outColumnIndex = reader.GetOrdinal("prefix_out"); int partner_idColumnIndex = reader.GetOrdinal("partner_id"); int partner_nameColumnIndex = reader.GetOrdinal("partner_name"); int partner_statusColumnIndex = reader.GetOrdinal("partner_status"); System.Collections.ArrayList recordList = new System.Collections.ArrayList(); int ri = -startIndex; while (reader.Read()) { ri++; if (ri > 0 && ri <= length) { OutDialPeerViewRow record = new OutDialPeerViewRow(); recordList.Add(record); record.End_point_id = Convert.ToInt16(reader.GetValue(end_point_idColumnIndex)); record.Carrier_acct_id = Convert.ToInt16(reader.GetValue(carrier_acct_idColumnIndex)); record.Alias = Convert.ToString(reader.GetValue(aliasColumnIndex)); record.Carrier_acct_name = Convert.ToString(reader.GetValue(carrier_acct_nameColumnIndex)); record.Carrier_acct_status = Convert.ToByte(reader.GetValue(carrier_acct_statusColumnIndex)); record.Prefix_out = Convert.ToString(reader.GetValue(prefix_outColumnIndex)); record.Partner_id = Convert.ToInt32(reader.GetValue(partner_idColumnIndex)); record.Partner_name = Convert.ToString(reader.GetValue(partner_nameColumnIndex)); record.Partner_status = Convert.ToByte(reader.GetValue(partner_statusColumnIndex)); if (ri == length && 0 != totalRecordCount) { break; } } } totalRecordCount = 0 == totalRecordCount ? ri + startIndex : -1; return((OutDialPeerViewRow[])(recordList.ToArray(typeof(OutDialPeerViewRow)))); }
/// <summary> /// Converts <see cref="System.Data.DataRow"/> to <see cref="OutDialPeerViewRow"/>. /// </summary> /// <param name="row">The <see cref="System.Data.DataRow"/> object to be mapped.</param> /// <returns>A reference to the <see cref="OutDialPeerViewRow"/> object.</returns> protected virtual OutDialPeerViewRow MapRow(DataRow row) { OutDialPeerViewRow mappedObject = new OutDialPeerViewRow(); DataTable dataTable = row.Table; DataColumn dataColumn; // Column "End_point_id" dataColumn = dataTable.Columns["End_point_id"]; if (!row.IsNull(dataColumn)) { mappedObject.End_point_id = (short)row[dataColumn]; } // Column "Carrier_acct_id" dataColumn = dataTable.Columns["Carrier_acct_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_acct_id = (short)row[dataColumn]; } // Column "Alias" dataColumn = dataTable.Columns["Alias"]; if (!row.IsNull(dataColumn)) { mappedObject.Alias = (string)row[dataColumn]; } // Column "Carrier_acct_name" dataColumn = dataTable.Columns["Carrier_acct_name"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_acct_name = (string)row[dataColumn]; } // Column "Carrier_acct_status" dataColumn = dataTable.Columns["Carrier_acct_status"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_acct_status = (byte)row[dataColumn]; } // Column "Prefix_out" dataColumn = dataTable.Columns["Prefix_out"]; if (!row.IsNull(dataColumn)) { mappedObject.Prefix_out = (string)row[dataColumn]; } // Column "Partner_id" dataColumn = dataTable.Columns["Partner_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Partner_id = (int)row[dataColumn]; } // Column "Partner_name" dataColumn = dataTable.Columns["Partner_name"]; if (!row.IsNull(dataColumn)) { mappedObject.Partner_name = (string)row[dataColumn]; } // Column "Partner_status" dataColumn = dataTable.Columns["Partner_status"]; if (!row.IsNull(dataColumn)) { mappedObject.Partner_status = (byte)row[dataColumn]; } return(mappedObject); }