public override bool LoadByReference(params object[] param)
        {
            bool result = false;

            Type thisType = this.GetType();
            var queryStatement = ObjectMapper.GetSelectQueryStatement(thisType);

            Dictionary<string, object> prms;
            queryStatement.ConcatClauses(GetObjectByFieldCondition(this.GetType(), out prms, param));
            BaseCommand command = new Query(queryStatement.ToString());

            foreach (string key in prms.Keys)
            {
                command.Add(key, prms[key]);
            }

            DataRow row = command.ExecDataRow();
            if (row != null)
            {
                ReadFromRow(row);
                result = true;
            }

            return result;
        }
Exemple #2
0
        /// <summary>
        /// Загружает объект по заданному набору имен полей и значениям
        /// </summary>
        /// <param name="field_name"></param>
        /// <param name="value"></param>
        /// <returns>Строку данных, если объект найден и null, если нет</returns>
        protected DataRow GetObjectByField(params object[] param)
        {
            Type thisType = this.GetType();
            var queryStatement = ObjectMapper.GetSelectQueryStatement(thisType);

            Dictionary<string, object> prms;
            queryStatement.ConcatClauses(GetObjectByFieldCondition(this.GetType(), out prms, param));

            BaseCommand command = new Query(queryStatement.ToString());
            foreach (string key in prms.Keys)
            {
                command.Add(key, prms[key]);
            }

            return command.ExecDataRow();
        }