public async Task <IHttpActionResult> Get(int Codigo) { try { var resposta = await Task.Run(() => iClienteDao.ObterPorChave(Codigo, StrConexao)); return(Ok(resposta)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IHttpActionResult> Post([FromBody] JObject value) { try { _mensagem = null; Pessoa pessoa = value.ToObject <Pessoa>(); int cpfCadastrado = await Task.Run(() => iPessoaDao.ListarPessoa(new { Cpf = pessoa.PessoaCpf, Cliente = pessoa.ClienteCodigo }, StrConexao).Count()); if (cpfCadastrado > 0) { throw new Exception("Já existe uma pessoa cadastrada neste cliente com este CPF."); } Rg rg = null; if (value["rg"] != null) { rg = value["rg"].ToObject <Rg>(); } pessoa.Cliente = await Task.Run(() => iClienteDao.ObterPorChave(pessoa.ClienteCodigo, StrConexao)); int comparaDatas = pessoa.PessoaDataNascimento.AddYears(18).CompareTo(DateTime.Now); bool regraPRBool = pessoa.Cliente.UfCodigo == "PR" && comparaDatas < 1, regraSCBool = pessoa.Cliente.UfCodigo == "SC" && rg != null && rg.RgNumero > 0; if (!regraPRBool && !regraSCBool) { if (pessoa.Cliente.UfCodigo == "PR") { throw new Exception("Este cliente só permite cadastro de pessoas acima dos 18 anos."); } else { throw new Exception("Este cliente só permite cadastro de pessoas com RG informado."); } } pessoa.PessoaDataCadastro = DateTime.Now; pessoa.PessoaCodigo = await Task.Run(() => iPessoaDao.Inserir(pessoa, out _mensagem, StrConexao)); if (pessoa.PessoaCodigo == 0) { throw new Exception(_mensagem); } if (rg != null) { _mensagem = null; rg.PessoaCodigo = pessoa.PessoaCodigo; await Task.Run(() => iRgDao.InserirRg(rg, out _mensagem, StrConexao)); if (!string.IsNullOrEmpty(_mensagem)) { throw new Exception(_mensagem); } } List <Telefone> telefones = value["telefones"].ToObject <List <Telefone> >(); await Task.Run(() => iTelefoneDao.InserirEmMassa(telefones.Select(t => new Telefone() { PessoaCodigo = pessoa.PessoaCodigo, TelefoneDdd = t.TelefoneDdd, TelefoneNumero = t.TelefoneNumero, TipoTelefoneCodigo = t.TipoTelefoneCodigo }).ToArray(), StrConexao, out _mensagem)); if (!string.IsNullOrEmpty(_mensagem)) { throw new Exception(_mensagem); } return(Ok(new { Id = pessoa.PessoaCodigo, Mensagem = "Cadastro salvo com sucesso!" })); } catch (Exception ex) { return(BadRequest(ex.Message)); } }