예제 #1
0
        public HttpResponseMessage GetAll()
        {
            try
            {
                var unidades = _unidadeAplicacao.Buscar().ToList();

                List <Unidade> listaUnidades = new List <Unidade>(_unidadeAplicacao.Buscar());
                var            unidadesVM    = AutoMapper.Mapper.Map <List <Unidade>, List <UnidadeViewModel> >(listaUnidades);

                JsonResult.Status = true;
                JsonResult.Object = unidadesVM;
                return(Request.CreateResponse(HttpStatusCode.OK, JsonResult));
            }
            catch (Exception ex)
            {
                JsonResult.Status  = false;
                JsonResult.Message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, JsonResult));
            }
        }
예제 #2
0
 public IList <UnidadeViewModel> ListaUnidade()
 {
     return(_unidadeAplicacao.Buscar().Select(x => new UnidadeViewModel(x)).ToList());
 }
예제 #3
0
        public new void Salvar(Cliente cliente, int usuarioId)
        {
            var retorno = BuscarPorId(cliente.Id) ?? cliente;

            if (retorno.Unidades == null)
            {
                retorno.Unidades = new List <ClienteUnidade>();
            }

            retorno.NomeFantasia = cliente.NomeFantasia;

            var unidades = _unidadeAplicacao.Buscar().ToList();

            retorno.Unidades.Clear();
            foreach (var idMenu in cliente.ListaUnidade)
            {
                retorno.Unidades.Add(new ClienteUnidade {
                    Unidade = unidades.FirstOrDefault(x => x.Id == idMenu)
                });
            }

            retorno.Id           = cliente.Id;
            retorno.TipoPessoa   = cliente.TipoPessoa;
            retorno.DataInsercao = cliente.DataInsercao;

            if (cliente.TipoPessoa == TipoPessoa.Juridica)
            {
                retorno.RazaoSocial          = string.IsNullOrEmpty(cliente.RazaoSocial) ? cliente.NomeFantasia : cliente.RazaoSocial;
                retorno.NomeFantasia         = cliente.NomeFantasia;
                retorno.Pessoa.DocumentoCnpj = cliente.Pessoa.DocumentoCnpj;
                retorno.Pessoa.DocumentoIe   = cliente.Pessoa.DocumentoIe;
                retorno.Pessoa.DocumentoIm   = cliente.Pessoa.DocumentoIm;
                LimparDadosPessoaFisica(ref retorno);
            }
            else if (cliente.TipoPessoa == TipoPessoa.Fisica)
            {
                retorno.Pessoa.Nome           = cliente.Pessoa.Nome;
                retorno.Pessoa.Sexo           = cliente.Pessoa.Sexo;
                retorno.Pessoa.DataNascimento = cliente.Pessoa.DataNascimento;
                retorno.Pessoa.DocumentoCpf   = cliente.Pessoa.DocumentoCpf;
                retorno.Pessoa.DocumentoRg    = cliente.Pessoa.DocumentoRg;
                LimparDadosPessoaJuridica(ref retorno);
            }

            retorno.NomeConvenio = cliente.NomeConvenio;
            retorno.Observacao   = cliente.Observacao;

            retorno.Pessoa.Contatos       = cliente.Pessoa.Contatos;
            retorno.Pessoa.Enderecos      = cliente.Pessoa.Enderecos;
            retorno.Veiculos              = cliente.Veiculos;
            retorno.Pessoa.Contatos       = cliente.Pessoa.Contatos?.Where(x => !string.IsNullOrEmpty(x.Contato.Email) || !string.IsNullOrEmpty(x.Contato.Numero))?.ToList();
            retorno.NotaFiscalSemDesconto = cliente.NotaFiscalSemDesconto;
            retorno.ExigeNotaFiscal       = cliente.ExigeNotaFiscal;

            foreach (var pessoaEndereco in retorno.Pessoa.Enderecos)
            {
                pessoaEndereco.Endereco.Cidade = pessoaEndereco.Endereco.Cidade == null
                    ? null
                    : _cidadeAplicacao.BuscarPor(endereco => endereco.Descricao == pessoaEndereco.Endereco.Cidade.Descricao).FirstOrDefault();
            }

            Servico.Salvar(retorno);

            SalvarContaCorrente(cliente, retorno);
            SalvarSelos(cliente);
            SalvarOcorrencias(cliente, usuarioId);

            try
            {
                var condutor = this.ConverterClienteParaCondutor(retorno);

                if ((condutor.Contratos != null && condutor.Contratos.Count > 0) || (condutor.ContratosCondomino != null && condutor.ContratosCondomino.Count > 0))
                {
                    _condutorSoftparkAplicacao.Salvar(condutor);
                }
            }
            catch (SoftparkIntegrationException ex)
            {
                throw new SoftparkIntegrationException("Registro salvo com sucesso!<br/>Porém encontramos um erro na integração com o PDV.<br/>Erro: " + ex.Message);
            }
        }