コード例 #1
0
        //-- objeto

        public object GetObjeto(Type type, object filtro = null, bool relacao = true)
        {
            var obj = Activator.CreateInstance(type);

            _ambiente.SetarFiltroPadrao(filtro);

            var where = filtro is string?filtro as string : null;
            var filtroObj = filtro is string?obj : filtro;

            var parametros = new List <IParametro>();

            var whereComando = _comando
                               .ComObjeto(filtroObj)
                               .ComParametros(parametros)
                               .GetWhereKey();

            var sql = _comando
                      .ComWhere(where ?? whereComando)
                      .GetSelect();

            var dataReader = _conexao
                             .ComParametros(parametros)
                             .GetConsulta(sql);

            if (dataReader.Read())
            {
                obj.SetValueFromDataReader(dataReader);
                if (relacao)
                {
                    this.GetRelacaoLista(obj, true, _ambiente.TipoDatabase);
                }
            }

            dataReader.Close();

            return(obj);
        }