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
                }));
            }
        }
Пример #2
0
 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
         }));
     }
 }