//---------------------------- Private ----------------------------------------------- //TODO: optimize - bad array copy ! static CdrAggregateRow[] map(CdrAggregate[] pCdrAggregates) { var _cdrAggrRows = new CdrAggregateRow[pCdrAggregates.Length]; for (int _i = 0; _i < pCdrAggregates.Length; _i++) { _cdrAggrRows[_i] = new CdrAggregateRow(); _cdrAggrRows[_i].Date_hour = pCdrAggregates[_i].DateHour; _cdrAggrRows[_i].Node_id = pCdrAggregates[_i].NodeID; _cdrAggrRows[_i].Access_number = pCdrAggregates[_i].AccessNumber; _cdrAggrRows[_i].Orig_end_point_IP = pCdrAggregates[_i].OrigIP; _cdrAggrRows[_i].Orig_end_point_id = pCdrAggregates[_i].OrigId; _cdrAggrRows[_i].Customer_acct_id = pCdrAggregates[_i].CustomerAcctId; _cdrAggrRows[_i].Customer_route_id = pCdrAggregates[_i].CustomerRouteId; _cdrAggrRows[_i].Carrier_acct_id = pCdrAggregates[_i].CarrierAcctId; _cdrAggrRows[_i].Carrier_route_id = pCdrAggregates[_i].CarrierRouteId; _cdrAggrRows[_i].Term_end_point_IP = pCdrAggregates[_i].TermIP; _cdrAggrRows[_i].Term_end_point_id = pCdrAggregates[_i].TermId; _cdrAggrRows[_i].Calls_attempted = pCdrAggregates[_i].CallsAttempted; _cdrAggrRows[_i].Calls_completed = pCdrAggregates[_i].CallsCompleted; _cdrAggrRows[_i].Setup_seconds = pCdrAggregates[_i].SetupSeconds; _cdrAggrRows[_i].Alert_seconds = pCdrAggregates[_i].AlertSeconds; _cdrAggrRows[_i].Connected_seconds = pCdrAggregates[_i].ConnectedSeconds; _cdrAggrRows[_i].Connected_minutes = pCdrAggregates[_i].ConnectedMinutes; _cdrAggrRows[_i].Carrier_cost = pCdrAggregates[_i].CarrierCost; _cdrAggrRows[_i].Carrier_rounded_minutes = pCdrAggregates[_i].CarrierRoundedMinutes; _cdrAggrRows[_i].Wholesale_price = pCdrAggregates[_i].WholesalePrice; _cdrAggrRows[_i].Wholesale_rounded_minutes = pCdrAggregates[_i].WholesaleRoundedMinutes; _cdrAggrRows[_i].End_user_price = pCdrAggregates[_i].EndUserPrice; _cdrAggrRows[_i].End_user_rounded_minutes = pCdrAggregates[_i].EndUserRoundedMinutes; } return(_cdrAggrRows); }
/// <summary> /// Converts <see cref="System.Data.DataRow"/> to <see cref="CdrAggregateRow"/>. /// </summary> /// <param name="row">The <see cref="System.Data.DataRow"/> object to be mapped.</param> /// <returns>A reference to the <see cref="CdrAggregateRow"/> object.</returns> protected virtual CdrAggregateRow MapRow(DataRow row) { CdrAggregateRow mappedObject = new CdrAggregateRow(); DataTable dataTable = row.Table; DataColumn dataColumn; // Column "Date_hour" dataColumn = dataTable.Columns["Date_hour"]; if (!row.IsNull(dataColumn)) { mappedObject.Date_hour = (int)row[dataColumn]; } // Column "Node_id" dataColumn = dataTable.Columns["Node_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Node_id = (short)row[dataColumn]; } // Column "Orig_end_point_IP" dataColumn = dataTable.Columns["Orig_end_point_IP"]; if (!row.IsNull(dataColumn)) { mappedObject.Orig_end_point_IP = (int)row[dataColumn]; } // Column "Orig_end_point_id" dataColumn = dataTable.Columns["Orig_end_point_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Orig_end_point_id = (short)row[dataColumn]; } // Column "Customer_acct_id" dataColumn = dataTable.Columns["Customer_acct_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Customer_acct_id = (short)row[dataColumn]; } // Column "Customer_route_id" dataColumn = dataTable.Columns["Customer_route_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Customer_route_id = (int)row[dataColumn]; } // Column "Term_end_point_IP" dataColumn = dataTable.Columns["Term_end_point_IP"]; if (!row.IsNull(dataColumn)) { mappedObject.Term_end_point_IP = (int)row[dataColumn]; } // Column "Term_end_point_id" dataColumn = dataTable.Columns["Term_end_point_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Term_end_point_id = (short)row[dataColumn]; } // Column "Calls_attempted" dataColumn = dataTable.Columns["Calls_attempted"]; if (!row.IsNull(dataColumn)) { mappedObject.Calls_attempted = (int)row[dataColumn]; } // Column "Calls_completed" dataColumn = dataTable.Columns["Calls_completed"]; if (!row.IsNull(dataColumn)) { mappedObject.Calls_completed = (int)row[dataColumn]; } // Column "Setup_seconds" dataColumn = dataTable.Columns["Setup_seconds"]; if (!row.IsNull(dataColumn)) { mappedObject.Setup_seconds = (int)row[dataColumn]; } // Column "Alert_seconds" dataColumn = dataTable.Columns["Alert_seconds"]; if (!row.IsNull(dataColumn)) { mappedObject.Alert_seconds = (int)row[dataColumn]; } // Column "Connected_seconds" dataColumn = dataTable.Columns["Connected_seconds"]; if (!row.IsNull(dataColumn)) { mappedObject.Connected_seconds = (int)row[dataColumn]; } // Column "Connected_minutes" dataColumn = dataTable.Columns["Connected_minutes"]; if (!row.IsNull(dataColumn)) { mappedObject.Connected_minutes = (decimal)row[dataColumn]; } // Column "Carrier_cost" dataColumn = dataTable.Columns["Carrier_cost"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_cost = (decimal)row[dataColumn]; } // Column "Carrier_rounded_minutes" dataColumn = dataTable.Columns["Carrier_rounded_minutes"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_rounded_minutes = (decimal)row[dataColumn]; } // Column "Wholesale_price" dataColumn = dataTable.Columns["Wholesale_price"]; if (!row.IsNull(dataColumn)) { mappedObject.Wholesale_price = (decimal)row[dataColumn]; } // Column "Wholesale_rounded_minutes" dataColumn = dataTable.Columns["Wholesale_rounded_minutes"]; if (!row.IsNull(dataColumn)) { mappedObject.Wholesale_rounded_minutes = (decimal)row[dataColumn]; } // Column "End_user_price" dataColumn = dataTable.Columns["End_user_price"]; if (!row.IsNull(dataColumn)) { mappedObject.End_user_price = (decimal)row[dataColumn]; } // Column "End_user_rounded_minutes" dataColumn = dataTable.Columns["End_user_rounded_minutes"]; if (!row.IsNull(dataColumn)) { mappedObject.End_user_rounded_minutes = (decimal)row[dataColumn]; } // Column "Carrier_acct_id" dataColumn = dataTable.Columns["Carrier_acct_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_acct_id = (short)row[dataColumn]; } // Column "Carrier_route_id" dataColumn = dataTable.Columns["Carrier_route_id"]; if (!row.IsNull(dataColumn)) { mappedObject.Carrier_route_id = (int)row[dataColumn]; } // Column "Access_number" dataColumn = dataTable.Columns["Access_number"]; if (!row.IsNull(dataColumn)) { mappedObject.Access_number = (long)row[dataColumn]; } return(mappedObject); }
/// <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 table.</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="CdrAggregateRow"/> objects.</returns> protected virtual CdrAggregateRow[] 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 date_hourColumnIndex = reader.GetOrdinal("date_hour"); int node_idColumnIndex = reader.GetOrdinal("node_id"); int orig_end_point_IPColumnIndex = reader.GetOrdinal("orig_end_point_IP"); int orig_end_point_idColumnIndex = reader.GetOrdinal("orig_end_point_id"); int customer_acct_idColumnIndex = reader.GetOrdinal("customer_acct_id"); int customer_route_idColumnIndex = reader.GetOrdinal("customer_route_id"); int term_end_point_IPColumnIndex = reader.GetOrdinal("term_end_point_IP"); int term_end_point_idColumnIndex = reader.GetOrdinal("term_end_point_id"); int calls_attemptedColumnIndex = reader.GetOrdinal("calls_attempted"); int calls_completedColumnIndex = reader.GetOrdinal("calls_completed"); int setup_secondsColumnIndex = reader.GetOrdinal("setup_seconds"); int alert_secondsColumnIndex = reader.GetOrdinal("alert_seconds"); int connected_secondsColumnIndex = reader.GetOrdinal("connected_seconds"); int connected_minutesColumnIndex = reader.GetOrdinal("connected_minutes"); int carrier_costColumnIndex = reader.GetOrdinal("carrier_cost"); int carrier_rounded_minutesColumnIndex = reader.GetOrdinal("carrier_rounded_minutes"); int wholesale_priceColumnIndex = reader.GetOrdinal("wholesale_price"); int wholesale_rounded_minutesColumnIndex = reader.GetOrdinal("wholesale_rounded_minutes"); int end_user_priceColumnIndex = reader.GetOrdinal("end_user_price"); int end_user_rounded_minutesColumnIndex = reader.GetOrdinal("end_user_rounded_minutes"); int carrier_acct_idColumnIndex = reader.GetOrdinal("carrier_acct_id"); int carrier_route_idColumnIndex = reader.GetOrdinal("carrier_route_id"); int access_numberColumnIndex = reader.GetOrdinal("access_number"); System.Collections.ArrayList recordList = new System.Collections.ArrayList(); int ri = -startIndex; while (reader.Read()) { ri++; if (ri > 0 && ri <= length) { CdrAggregateRow record = new CdrAggregateRow(); recordList.Add(record); record.Date_hour = Convert.ToInt32(reader.GetValue(date_hourColumnIndex)); record.Node_id = Convert.ToInt16(reader.GetValue(node_idColumnIndex)); record.Orig_end_point_IP = Convert.ToInt32(reader.GetValue(orig_end_point_IPColumnIndex)); record.Orig_end_point_id = Convert.ToInt16(reader.GetValue(orig_end_point_idColumnIndex)); record.Customer_acct_id = Convert.ToInt16(reader.GetValue(customer_acct_idColumnIndex)); record.Customer_route_id = Convert.ToInt32(reader.GetValue(customer_route_idColumnIndex)); record.Term_end_point_IP = Convert.ToInt32(reader.GetValue(term_end_point_IPColumnIndex)); record.Term_end_point_id = Convert.ToInt16(reader.GetValue(term_end_point_idColumnIndex)); record.Calls_attempted = Convert.ToInt32(reader.GetValue(calls_attemptedColumnIndex)); record.Calls_completed = Convert.ToInt32(reader.GetValue(calls_completedColumnIndex)); record.Setup_seconds = Convert.ToInt32(reader.GetValue(setup_secondsColumnIndex)); record.Alert_seconds = Convert.ToInt32(reader.GetValue(alert_secondsColumnIndex)); record.Connected_seconds = Convert.ToInt32(reader.GetValue(connected_secondsColumnIndex)); record.Connected_minutes = Convert.ToDecimal(reader.GetValue(connected_minutesColumnIndex)); record.Carrier_cost = Convert.ToDecimal(reader.GetValue(carrier_costColumnIndex)); record.Carrier_rounded_minutes = Convert.ToDecimal(reader.GetValue(carrier_rounded_minutesColumnIndex)); record.Wholesale_price = Convert.ToDecimal(reader.GetValue(wholesale_priceColumnIndex)); record.Wholesale_rounded_minutes = Convert.ToDecimal(reader.GetValue(wholesale_rounded_minutesColumnIndex)); record.End_user_price = Convert.ToDecimal(reader.GetValue(end_user_priceColumnIndex)); record.End_user_rounded_minutes = Convert.ToDecimal(reader.GetValue(end_user_rounded_minutesColumnIndex)); record.Carrier_acct_id = Convert.ToInt16(reader.GetValue(carrier_acct_idColumnIndex)); record.Carrier_route_id = Convert.ToInt32(reader.GetValue(carrier_route_idColumnIndex)); record.Access_number = Convert.ToInt64(reader.GetValue(access_numberColumnIndex)); if (ri == length && 0 != totalRecordCount) { break; } } } totalRecordCount = 0 == totalRecordCount ? ri + startIndex : -1; return((CdrAggregateRow[])(recordList.ToArray(typeof(CdrAggregateRow)))); }
/// <summary> /// Adds a new record into the <c>CdrAggregate</c> table. /// </summary> /// <param name="value">The <see cref="CdrAggregateRow"/> object to be inserted.</param> public virtual void Insert(CdrAggregateRow value) { string sqlStr = "INSERT INTO [dbo].[CdrAggregate] (" + "[date_hour], " + "[node_id], " + "[orig_end_point_IP], " + "[orig_end_point_id], " + "[customer_acct_id], " + "[customer_route_id], " + "[term_end_point_IP], " + "[term_end_point_id], " + "[calls_attempted], " + "[calls_completed], " + "[setup_seconds], " + "[alert_seconds], " + "[connected_seconds], " + "[connected_minutes], " + "[carrier_cost], " + "[carrier_rounded_minutes], " + "[wholesale_price], " + "[wholesale_rounded_minutes], " + "[end_user_price], " + "[end_user_rounded_minutes], " + "[carrier_acct_id], " + "[carrier_route_id], " + "[access_number]" + ") VALUES (" + _db.CreateSqlParameterName("Date_hour") + ", " + _db.CreateSqlParameterName("Node_id") + ", " + _db.CreateSqlParameterName("Orig_end_point_IP") + ", " + _db.CreateSqlParameterName("Orig_end_point_id") + ", " + _db.CreateSqlParameterName("Customer_acct_id") + ", " + _db.CreateSqlParameterName("Customer_route_id") + ", " + _db.CreateSqlParameterName("Term_end_point_IP") + ", " + _db.CreateSqlParameterName("Term_end_point_id") + ", " + _db.CreateSqlParameterName("Calls_attempted") + ", " + _db.CreateSqlParameterName("Calls_completed") + ", " + _db.CreateSqlParameterName("Setup_seconds") + ", " + _db.CreateSqlParameterName("Alert_seconds") + ", " + _db.CreateSqlParameterName("Connected_seconds") + ", " + _db.CreateSqlParameterName("Connected_minutes") + ", " + _db.CreateSqlParameterName("Carrier_cost") + ", " + _db.CreateSqlParameterName("Carrier_rounded_minutes") + ", " + _db.CreateSqlParameterName("Wholesale_price") + ", " + _db.CreateSqlParameterName("Wholesale_rounded_minutes") + ", " + _db.CreateSqlParameterName("End_user_price") + ", " + _db.CreateSqlParameterName("End_user_rounded_minutes") + ", " + _db.CreateSqlParameterName("Carrier_acct_id") + ", " + _db.CreateSqlParameterName("Carrier_route_id") + ", " + _db.CreateSqlParameterName("Access_number") + ")"; IDbCommand cmd = _db.CreateCommand(sqlStr); AddParameter(cmd, "Date_hour", value.Date_hour); AddParameter(cmd, "Node_id", value.Node_id); AddParameter(cmd, "Orig_end_point_IP", value.Orig_end_point_IP); AddParameter(cmd, "Orig_end_point_id", value.Orig_end_point_id); AddParameter(cmd, "Customer_acct_id", value.Customer_acct_id); AddParameter(cmd, "Customer_route_id", value.Customer_route_id); AddParameter(cmd, "Term_end_point_IP", value.Term_end_point_IP); AddParameter(cmd, "Term_end_point_id", value.Term_end_point_id); AddParameter(cmd, "Calls_attempted", value.Calls_attempted); AddParameter(cmd, "Calls_completed", value.Calls_completed); AddParameter(cmd, "Setup_seconds", value.Setup_seconds); AddParameter(cmd, "Alert_seconds", value.Alert_seconds); AddParameter(cmd, "Connected_seconds", value.Connected_seconds); AddParameter(cmd, "Connected_minutes", value.Connected_minutes); AddParameter(cmd, "Carrier_cost", value.Carrier_cost); AddParameter(cmd, "Carrier_rounded_minutes", value.Carrier_rounded_minutes); AddParameter(cmd, "Wholesale_price", value.Wholesale_price); AddParameter(cmd, "Wholesale_rounded_minutes", value.Wholesale_rounded_minutes); AddParameter(cmd, "End_user_price", value.End_user_price); AddParameter(cmd, "End_user_rounded_minutes", value.End_user_rounded_minutes); AddParameter(cmd, "Carrier_acct_id", value.Carrier_acct_id); AddParameter(cmd, "Carrier_route_id", value.Carrier_route_id); AddParameter(cmd, "Access_number", value.Access_number); cmd.ExecuteNonQuery(); }