public SalesOrderHeaderCollection GetAllSalesOrderHeadersDynamicCollection(string whereExpression, string orderBy) { IDBManager dbm = new DBManager(); SalesOrderHeaderCollection cols = new SalesOrderHeaderCollection(); int id = 0; try { dbm.CreateParameters(2); dbm.AddParameters(0, "@WhereCondition", whereExpression); dbm.AddParameters(1, "@OrderByExpression", orderBy); IDataReader reader = dbm.ExecuteReader(CommandType.StoredProcedure, "SelectSalesOrderHeadersDynamic"); while (reader.Read()) { SalesOrderHeader SOH = new SalesOrderHeader(); SOH.SalesOrderID = Int32.Parse(reader["SalesOrderID"].ToString()); id = SOH.SalesOrderID; SOH.OrderDate = DateTime.Parse(reader["OrderDate"].ToString()); SOH.DueDate = DateTime.Parse(reader["DueDate"].ToString()); SOH.ShipDate = DateTime.Parse(reader["ShipDate"].ToString()); SOH.Status = Byte.Parse(reader["Status"].ToString()); SOH.OnlineOrderFlag = bool.Parse(reader["OnlineOrderFlag"].ToString()); SOH.SalesOrderNumber = reader["SalesOrderNumber"].ToString(); SOH.PurchaseOrderNumber = reader["PurchaseOrderNumber"].ToString(); SOH.CustomerID = Int32.Parse(reader["CustomerID"].ToString()); SOH.SalesPersonID = Int32.Parse(reader["SalesPersonID"].ToString()); if (reader["BillToAddressID"] != DBNull.Value) { SOH.BillToAddressID = Int32.Parse(reader["BillToAddressID"].ToString()); } else { SOH.BillToAddressID = 0; } if (reader["ShipToAddressID"] != DBNull.Value) { SOH.ShipToAddressID = Int32.Parse(reader["ShipToAddressID"].ToString()); } else { SOH.ShipToAddressID = 0; } SOH.ShipMethodID = Int32.Parse(reader["ShipMethodID"].ToString()); SOH.PaymentMethodID = Int32.Parse(reader["PaymentMethodID"].ToString()); SOH.CurrencyRateID = Int32.Parse(reader["CurrencyRateID"].ToString()); SOH.SubTotal = decimal.Parse(reader["SubTotal"].ToString()); SOH.TaxAmt = decimal.Parse(reader["TaxAmt"].ToString()); SOH.Freight = decimal.Parse(reader["Freight"].ToString()); SOH.TotalDue = decimal.Parse(reader["TotalDue"].ToString()); SOH.Comment = reader["Comment"].ToString(); SOH.ModifiedDate = DateTime.Parse(reader["ModifiedDate"].ToString()); cols.Add(SOH); } } catch (Exception ex) { log.Write(ex.Message, "GetAllSalesOrderHeadersDynamicCollection, SalesOrderID:" + id.ToString()); throw (ex); } finally { dbm.Dispose(); } return(cols); }