Exemple #1
0
        public Task <HttpResponseMessage> CriarCliente(ClienteModel model)
        {
            HttpResponseMessage response;

            try
            {
                var pessoa = Mapper.Map <Pessoa>(model);
                pessoa.Papeis = new List <Papel> {
                    new Papel {
                        PapelCodigo = model.PapelPessoa
                    }
                };
                //Remove informações que não vão ser gravadas.
                ((List <MeioComunicacao>)pessoa.MeiosComunicacao).RemoveAll(
                    x => string.IsNullOrEmpty(x.MeioComunicacaoNome) && x.MeioComunicacaoCodigo.Equals(0));

                if (model.EPessoaFisica)
                {
                    pessoa.PessoaFisica = Mapper.Map <PessoaFisica>(model);
                    _pessoaService.CriarPessoaFisica(pessoa);
                }
                else
                {
                    pessoa.PessoaJuridica = Mapper.Map <PessoaJuridica>(model);
                    _pessoaService.CriarPessoaJuridica(pessoa);
                }
                response = ReturnSuccess();
            }
            catch (Exception ex)
            {
                response = ReturnError(ex);
            }

            var tsc = new TaskCompletionSource <HttpResponseMessage>();

            tsc.SetResult(response);
            return(tsc.Task);
        }