Example #1
0
        public void SetObjeto(object obj, bool relacao = true)
        {
            _ambiente.SetarValorPadrao(obj);

            obj.ValidarCampos();
            obj.ValidarTipagens();

            var parametrosKey = new List <IParametro>();

            var sql = _comando
                      .ComObjeto(obj)
                      .ComParametros(parametrosKey)
                      .GetSelectKey();

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

            var parametros = new List <IParametro>();

            var cmd = string.Empty;

            if (dataReader.Read())
            {
                cmd = _comando
                      .ComParametros(parametros)
                      .GetUpdate();
            }
            else
            {
                cmd = _comando
                      .ComParametros(parametros)
                      .GetInsert();
            }

            _conexao
            .ComParametros(parametros)
            .ExecComando(cmd);

            if (relacao)
            {
                this.SetRelacaoLista(obj, true);
            }

            dataReader.Close();
        }
Example #2
0
        public void SetObjeto(object obj, bool relacao = true)
        {
            _ambiente.SetarValorPadrao(obj);

            obj.ValidarCampos();
            obj.ValidarTipagens();

            var parametrosKey = new List <IParametro>();

            var sql = _comando
                      .ComObjeto(obj)
                      .ComParametros(parametrosKey)
                      .GetSelectKey();

            var dataReader = _conexao
                             .Connection
                             .QueryFirstOrDefault(sql: sql, type: obj.GetType(), param: obj);

            var parametros = new List <IParametro>();

            var cmd = string.Empty;

            if (dataReader != null)
            {
                cmd = _comando
                      .ComParametros(parametros)
                      .GetUpdate();
            }
            else
            {
                cmd = _comando
                      .ComParametros(parametros)
                      .GetInsert();
            }

            _conexao
            .Connection
            .Execute(sql: cmd, param: obj);

            if (relacao)
            {
                this.SetRelacaoLista(obj, true);
            }
        }