public ActionResult CriarPessoaColaborador([FromServices] IGenericService <Pessoa> pessoaSvc, [FromServices] IGenericService <Colaborador> colaboradorSvc, [FromServices] IAcessoFerramentaService ferramentaSvc, [FromServices] ITelefoneService telSvc, [FromServices] IAcessoSiglaService siglaSvc, [FromBody] PessoaColaborador pcv) { try { var novoColaborador = new Colaborador(); if (pcv.pessoa.TipoId == 1) { pcv.pessoa.EmpresaId = 1; } var novaPessoa = pessoaSvc.Adicionar(pcv.pessoa); pcv.colaborador.PessoaId = novaPessoa.Id; if (pcv.pessoa.TipoId == 1) { novoColaborador = colaboradorSvc.Adicionar(pcv.colaborador); var lstAcessoFerramenta = ferramentaSvc.AdicionarListaAcessoFerramenta(pcv.FerramentasAssociadas, novoColaborador.Id); var lstAcessoSigla = siglaSvc.AdicionarListaAcessoSigla(pcv.SiglasAssociadas, novoColaborador.Id); } var lstTelefone = telSvc.AdicionarTelefones(pcv.Telefones, novaPessoa.Id); return(Ok(new Retorno() { Codigo = 200, Data = new PessoaColaborador { pessoa = novaPessoa, colaborador = novoColaborador, Telefones = lstTelefone } })); } catch (Exception ex) { return(BadRequest(new Retorno() { Codigo = 500, Mensagem = ex.Message })); } }
public virtual ActionResult Adicionar([FromServices] IGenericService <T> svc, [FromBody] T obj) { try { var retorno = new Retorno() { Codigo = 200, Data = svc.Adicionar(obj) }; return(Ok(retorno)); } catch (Exception ex) { return(BadRequest(new Retorno() { Codigo = 500, Mensagem = ex.Message })); } }