public override TList <ContractCostChange> GetPaged(TransactionManager transactionManager, string whereClause, string orderBy, int start, int pageLength, out int count)
        {
            SqlDatabase database = new SqlDatabase(this._connectionString);
            DbCommand   command  = StoredProcedureProvider.GetCommandWrapper(database, "dbo.ContractCostChange_GetPaged", this._useStoredProcedure);

            database.AddInParameter(command, "@WhereClause", DbType.String, whereClause);
            database.AddInParameter(command, "@OrderBy", DbType.String, orderBy);
            database.AddInParameter(command, "@PageIndex", DbType.Int32, start);
            database.AddInParameter(command, "@PageSize", DbType.Int32, pageLength);
            IDataReader reader = null;
            TList <ContractCostChange> rows = new TList <ContractCostChange>();

            try
            {
                try
                {
                    if (transactionManager != null)
                    {
                        reader = Utility.ExecuteReader(transactionManager, command);
                    }
                    else
                    {
                        reader = Utility.ExecuteReader(database, command);
                    }
                    ContractCostChangeProviderBaseCore.Fill(reader, rows, 0, 0x7fffffff);
                    count = rows.Count;
                    if (reader.NextResult() && reader.Read())
                    {
                        count = reader.GetInt32(0);
                    }
                    return(rows);
                }
                catch (Exception)
                {
                    throw;
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(rows);
        }
        public override TList <ContractCostChange> Find(TransactionManager transactionManager, SqlFilterParameterCollection parameters, string orderBy, int start, int pageLength, out int count)
        {
            SqlDatabase database = new SqlDatabase(this._connectionString);
            DbCommand   command  = StoredProcedureProvider.GetCommandWrapper(database, "dbo.ContractCostChange_Find_Dynamic", typeof(ContractCostChangeColumn), parameters, orderBy, start, pageLength);

            if (parameters != null)
            {
                for (int i = 0; i < parameters.Count; i++)
                {
                    SqlFilterParameter parameter = parameters[i];
                    database.AddInParameter(command, parameter.Name, parameter.DbType, parameter.Value);
                }
            }
            TList <ContractCostChange> rows = new TList <ContractCostChange>();
            IDataReader reader = null;

            try
            {
                if (transactionManager != null)
                {
                    reader = Utility.ExecuteReader(transactionManager, command);
                }
                else
                {
                    reader = Utility.ExecuteReader(database, command);
                }
                ContractCostChangeProviderBaseCore.Fill(reader, rows, 0, 0x7fffffff);
                count = rows.Count;
                if (!reader.NextResult())
                {
                    return(rows);
                }
                if (reader.Read())
                {
                    count = reader.GetInt32(0);
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(rows);
        }
        public override ContractCostChange GetByContractCostChangeCode(TransactionManager transactionManager, string contractCostChangeCode, int start, int pageLength, out int count)
        {
            SqlDatabase database = new SqlDatabase(this._connectionString);
            DbCommand   command  = StoredProcedureProvider.GetCommandWrapper(database, "dbo.ContractCostChange_GetByContractCostChangeCode", this._useStoredProcedure);

            database.AddInParameter(command, "@ContractCostChangeCode", DbType.AnsiString, contractCostChangeCode);
            IDataReader reader = null;
            TList <ContractCostChange> rows = new TList <ContractCostChange>();

            try
            {
                if (transactionManager != null)
                {
                    reader = Utility.ExecuteReader(transactionManager, command);
                }
                else
                {
                    reader = Utility.ExecuteReader(database, command);
                }
                ContractCostChangeProviderBaseCore.Fill(reader, rows, start, pageLength);
                count = -1;
                if (reader.NextResult() && reader.Read())
                {
                    count = reader.GetInt32(0);
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            if (rows.Count == 1)
            {
                return(rows[0]);
            }
            if (rows.Count != 0)
            {
                throw new DataException("Cannot find the unique instance of the class.");
            }
            return(null);
        }
        public override TList <ContractCostChange> GetAll(TransactionManager transactionManager, int start, int pageLength, out int count)
        {
            SqlDatabase database            = new SqlDatabase(this._connectionString);
            DbCommand   dbCommand           = StoredProcedureProvider.GetCommandWrapper(database, "dbo.ContractCostChange_Get_List", this._useStoredProcedure);
            IDataReader reader              = null;
            TList <ContractCostChange> rows = new TList <ContractCostChange>();

            try
            {
                if (transactionManager != null)
                {
                    reader = Utility.ExecuteReader(transactionManager, dbCommand);
                }
                else
                {
                    reader = Utility.ExecuteReader(database, dbCommand);
                }
                ContractCostChangeProviderBaseCore.Fill(reader, rows, start, pageLength);
                count = -1;
                if (!reader.NextResult())
                {
                    return(rows);
                }
                if (reader.Read())
                {
                    count = reader.GetInt32(0);
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(rows);
        }
        public override TList <ContractCostChange> Find(TransactionManager transactionManager, string whereClause, int start, int pageLength, out int count)
        {
            count = -1;
            if (whereClause.IndexOf(";") > -1)
            {
                return(new TList <ContractCostChange>());
            }
            SqlDatabase database = new SqlDatabase(this._connectionString);
            DbCommand   command  = StoredProcedureProvider.GetCommandWrapper(database, "dbo.ContractCostChange_Find", this._useStoredProcedure);
            bool        flag     = false;

            if (whereClause.IndexOf(" OR ") > 0)
            {
                flag = true;
            }
            database.AddInParameter(command, "@SearchUsingOR", DbType.Boolean, flag);
            database.AddInParameter(command, "@ContractCostChangeCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@ContractCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@ContractCostCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@ContractChangeCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@Cash", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@ChangeCash", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@NewCash", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@OriginalCash", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@TotalChangeCash", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@MoneyType", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@ExchangeRate", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@Money", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@ChangeMoney", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@NewMoney", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@OriginalMoney", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@TotalChangeMoney", DbType.Decimal, DBNull.Value);
            database.AddInParameter(command, "@CostCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@CostBudgetSetCode", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@Description", DbType.AnsiString, DBNull.Value);
            database.AddInParameter(command, "@Status", DbType.Int32, DBNull.Value);
            whereClause = whereClause.Replace(" AND ", "|").Replace(" OR ", "|");
            string[] textArray = whereClause.ToLower().Split(new char[] { '|' });
            char[]   trimChars = new char[] { '=' };
            char[]   chArray2  = new char[] { '\'' };
            foreach (string text in textArray)
            {
                if (text.Trim().StartsWith("contractcostchangecode ") || text.Trim().StartsWith("contractcostchangecode="))
                {
                    database.SetParameterValue(command, "@ContractCostChangeCode", text.Replace("contractcostchangecode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("contractcode ") || text.Trim().StartsWith("contractcode="))
                {
                    database.SetParameterValue(command, "@ContractCode", text.Replace("contractcode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("contractcostcode ") || text.Trim().StartsWith("contractcostcode="))
                {
                    database.SetParameterValue(command, "@ContractCostCode", text.Replace("contractcostcode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("contractchangecode ") || text.Trim().StartsWith("contractchangecode="))
                {
                    database.SetParameterValue(command, "@ContractChangeCode", text.Replace("contractchangecode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("cash ") || text.Trim().StartsWith("cash="))
                {
                    database.SetParameterValue(command, "@Cash", text.Replace("cash", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("changecash ") || text.Trim().StartsWith("changecash="))
                {
                    database.SetParameterValue(command, "@ChangeCash", text.Replace("changecash", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("newcash ") || text.Trim().StartsWith("newcash="))
                {
                    database.SetParameterValue(command, "@NewCash", text.Replace("newcash", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("originalcash ") || text.Trim().StartsWith("originalcash="))
                {
                    database.SetParameterValue(command, "@OriginalCash", text.Replace("originalcash", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("totalchangecash ") || text.Trim().StartsWith("totalchangecash="))
                {
                    database.SetParameterValue(command, "@TotalChangeCash", text.Replace("totalchangecash", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("moneytype ") || text.Trim().StartsWith("moneytype="))
                {
                    database.SetParameterValue(command, "@MoneyType", text.Replace("moneytype", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("exchangerate ") || text.Trim().StartsWith("exchangerate="))
                {
                    database.SetParameterValue(command, "@ExchangeRate", text.Replace("exchangerate", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("money ") || text.Trim().StartsWith("money="))
                {
                    database.SetParameterValue(command, "@Money", text.Replace("money", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("changemoney ") || text.Trim().StartsWith("changemoney="))
                {
                    database.SetParameterValue(command, "@ChangeMoney", text.Replace("changemoney", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("newmoney ") || text.Trim().StartsWith("newmoney="))
                {
                    database.SetParameterValue(command, "@NewMoney", text.Replace("newmoney", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("originalmoney ") || text.Trim().StartsWith("originalmoney="))
                {
                    database.SetParameterValue(command, "@OriginalMoney", text.Replace("originalmoney", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("totalchangemoney ") || text.Trim().StartsWith("totalchangemoney="))
                {
                    database.SetParameterValue(command, "@TotalChangeMoney", text.Replace("totalchangemoney", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("costcode ") || text.Trim().StartsWith("costcode="))
                {
                    database.SetParameterValue(command, "@CostCode", text.Replace("costcode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("costbudgetsetcode ") || text.Trim().StartsWith("costbudgetsetcode="))
                {
                    database.SetParameterValue(command, "@CostBudgetSetCode", text.Replace("costbudgetsetcode", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else if (text.Trim().StartsWith("description ") || text.Trim().StartsWith("description="))
                {
                    database.SetParameterValue(command, "@Description", text.Replace("description", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
                else
                {
                    if (!text.Trim().StartsWith("status ") && !text.Trim().StartsWith("status="))
                    {
                        throw new ArgumentException("Unable to use this part of the where clause in this version of Find: " + text);
                    }
                    database.SetParameterValue(command, "@Status", text.Replace("status", "").Trim().TrimStart(trimChars).Trim().Trim(chArray2));
                }
            }
            IDataReader reader = null;
            TList <ContractCostChange> rows = new TList <ContractCostChange>();

            try
            {
                if (transactionManager != null)
                {
                    reader = Utility.ExecuteReader(transactionManager, command);
                }
                else
                {
                    reader = Utility.ExecuteReader(database, command);
                }
                ContractCostChangeProviderBaseCore.Fill(reader, rows, start, pageLength);
                if (reader.NextResult() && reader.Read())
                {
                    count = reader.GetInt32(0);
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(rows);
        }