public new void Salvar(Filial entity) { if (!ObjetoValido(entity)) { throw new BusinessRuleException("Objeto Invalido!"); } var filialRetorno = BuscarPorId(entity.Id) ?? entity; filialRetorno.Id = entity.Id; filialRetorno.Descricao = entity.Descricao; filialRetorno.CNPJ = entity.CNPJ; filialRetorno.Endereco = entity.Endereco; filialRetorno.Contatos = entity.Contatos; filialRetorno.DataInsercao = entity.DataInsercao; filialRetorno.InscricaoEstadual = entity.InscricaoEstadual; filialRetorno.RazaoSocial = entity.RazaoSocial; filialRetorno.Empresa = entity.Empresa; filialRetorno.TipoFilial = entity.TipoFilial; filialRetorno.Endereco.Cidade = _cidadeAplicacao.BuscarPor(x => x.Descricao == entity.Endereco.Cidade.Descricao).FirstOrDefault() ?? entity.Endereco.Cidade; Servico.Salvar(filialRetorno); }
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); } }