public IEnumerable <MOD_pessoa> Insert(MOD_pessoa pessoa) { try { if (pessoa == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } objBLL_Pessoa = new BLL_pessoa(); List <MOD_pessoa> listaPessoa = new List <MOD_pessoa>(); if (objBLL_Pessoa.Insert(pessoa, out listaPessoa) == true) { return(listaPessoa); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } catch (SqlException exl) { throw exl; } catch (Exception ex) { throw ex; } }
/// <summary> /// Função que Transmite a Entidade para a DAL fazer UPDATE /// </summary> /// <param name="lista"></param> /// <returns></returns> public bool Import(MOD_pessoa objEnt, out List <MOD_pessoa> listaRetorno) { using (TransactionScope objTrans = new TransactionScope()) { try { #region Inicialização das variaveis blnRetorno = true; blnRetornoLog = true; #endregion #region Movimentação da tabela Pessoa e Logs objBLL_Pessoa = new BLL_pessoa(); objDAL_Log = new DAL_log(); objBLL_Valida = new BLL_ValidacaoPessoa(); //Verifica se já existe o CPF na base de dados e atualiza os dados if (!string.IsNullOrEmpty(objEnt.Cpf) && !objEnt.Cpf.Equals("000.000.000-00")) { List <MOD_pessoa> listaValidaCpf = new List <MOD_pessoa>(); IBLL_ValidacaoPessoa objBLL_Validacao = new BLL_ValidacaoPessoa(); listaValidaCpf = objBLL_Validacao.ValidaCpfDuplicado(objEnt); if (listaValidaCpf.Count > 0) { if (modulos.listaParametros[0].AlteraDadosImportPessoa.Equals("Sim")) { objEnt.Logs = new BLL_pessoaImporta_Log().CriarLog(objEnt, "Update"); objEnt.Logs = new BLL_pessoaImporta_Log().ValidaLog(objEnt.Logs); objEnt.CodPessoa = listaValidaCpf[0].CodPessoa; blnRetorno = objBLL_Pessoa.Update(objEnt, out listaPessoa); blnRetornoLog = objDAL_Log.inserir(objEnt.Logs); } } else { objEnt.Logs = new BLL_pessoaImporta_Log().CriarLog(objEnt, "Insert"); objEnt.Logs = new BLL_pessoaImporta_Log().ValidaLog(objEnt.Logs); blnRetorno = objBLL_Pessoa.Insert(objEnt, out listaPessoa); blnRetornoLog = objDAL_Log.inserir(objEnt.Logs); } } else { List <MOD_pessoa> listaPessoaDuplicada = new List <MOD_pessoa>(); IBLL_ValidacaoPessoa objBLL_Validacao = new BLL_ValidacaoPessoa(); objBLL_PessoaDuplicada = new BLL_buscaPessoaDuplicada(); listaPessoaDuplicada = objBLL_PessoaDuplicada.Buscar(objEnt.Nome, objEnt.DataNasc, objEnt.CodCidadeRes); if (listaPessoaDuplicada.Count > 0) { if (modulos.listaParametros[0].AlteraDadosImportPessoa.Equals("Sim")) { objEnt.Logs = new BLL_pessoaImporta_Log().CriarLog(objEnt, "Update"); objEnt.Logs = new BLL_pessoaImporta_Log().ValidaLog(objEnt.Logs); objEnt.CodPessoa = listaPessoaDuplicada[0].CodPessoa; blnRetorno = objBLL_Pessoa.Update(objEnt, out listaPessoa); blnRetornoLog = objDAL_Log.inserir(objEnt.Logs); } } else { objEnt.Logs = new BLL_pessoaImporta_Log().CriarLog(objEnt, "Insert"); objEnt.Logs = new BLL_pessoaImporta_Log().ValidaLog(objEnt.Logs); blnRetorno = objBLL_Pessoa.Insert(objEnt, out listaPessoa); blnRetornoLog = objDAL_Log.inserir(objEnt.Logs); } } #endregion //Se der falso qualquer retorno a Transação deve ser Anulada if (false.Equals(blnRetorno) || false.Equals(blnRetornoLog)) { //finaliza a transação objTrans.Dispose(); throw new Exception(modulos.MsgErroSalvar); } else { //completa a transação objTrans.Complete(); ////Retorna o Registro inserido para gravar na tabela de Importados com sucesso listaRetorno = listaPessoa; //Retorna a Confirmação que foi gravado na tabela Pessoa return(true); } } catch (SqlException exl) { //finaliza a transação objTrans.Dispose(); throw exl; } catch (Exception ex) { //finaliza a transação objTrans.Dispose(); throw ex; } } }