public static ClienteBuscaViewModel ParaAplicacaoViewModel(string nome, string documento, string telefone, IEnumerable <Cliente> listaCliente) { var viewModel = new ClienteBuscaViewModel(nome, documento, telefone, listaCliente); return(viewModel); }
public ClienteBuscaViewModel PesquisarGenerico(long?atividadeId, bool?carregarComPost, string nomeAction, string nomeController, long?atualClienteId, string atualClienteTipo, bool?clienteContato, string criadoPor) { var model = new ClienteBuscaViewModel { AtividadeId = atividadeId, CarregarComPost = (bool)carregarComPost, Action = nomeAction, Controller = nomeController, AtualClienteId = atualClienteId, AtualClienteTipo = atualClienteTipo, ClienteContato = clienteContato }; if (clienteContato != null && clienteContato != true) { return(model); } var permitirAtendimentoTerceiro = false; var configuracao = new Configuracao(); configuracao.SetarAtendimentoTerceiros(); configuracao = _configuracaoServico.ObterPorSigla(configuracao.Sigla); if (configuracao != null) { permitirAtendimentoTerceiro = configuracao.Valor == "1"; } if (permitirAtendimentoTerceiro) { model.ClienteContato = null; if (atividadeId.HasValue && clienteContato == null) { if (_servicoAtividadeParteEnvolvidaServico.PossuiClienteContato((long)atividadeId)) { model.ClienteContato = false; } } else { model.ClienteContato = clienteContato; } } else { model.ClienteContato = false; } return(model); }
public ClienteBuscaViewModel PesquisarCliente(ClienteBuscaViewModel model) { var listaPesquisaCliente = _servicoCliente.Buscar(model.Nome, model.Documento, model.Telefone, model.NumeroProtocolo, model.Susep); if (_integracaoAppServico.ConsultarIntegracao()) { //var clientesJaIntegrados = _integracaoControleServico.ObterClientesJaIntegrados(null); var retornoClientesIntegracao = _integracaoAppServico.ObterClientesIntegracaoPor(model.Nome, model.Telefone, model.Documento, null, model.CriadoPor); if (retornoClientesIntegracao.PessoasFisicas.Any()) { foreach (var pfIntegracao in retornoClientesIntegracao.PessoasFisicas) { var clienteJaExiste = listaPesquisaCliente.FirstOrDefault(x => x.Documento == pfIntegracao.Cpf); if (clienteJaExiste != null) { clienteJaExiste.RegistroJaIntegradao = true; } else { var clientesMesmoDocumento = _servicoPessoaFisica.PesquisarPessoaFisica(null, pfIntegracao.Cpf, null, null, null); if (clientesMesmoDocumento != null && clientesMesmoDocumento.Any()) { var clienteMesmoDocumento = clientesMesmoDocumento.FirstOrDefault(); ((List <Cliente>)listaPesquisaCliente).Add(new Cliente(clienteMesmoDocumento.Id, clienteMesmoDocumento.Nome + " " + clienteMesmoDocumento.Sobrenome, clienteMesmoDocumento.DataNascimento, "PF", clienteMesmoDocumento.Cpf, null, true, false)); } else { ((List <Cliente>)listaPesquisaCliente).Add(new Cliente(0, pfIntegracao.Nome + " " + pfIntegracao.Sobrenome, pfIntegracao.DataNascimento, "PF", pfIntegracao.Cpf, pfIntegracao.IdentificadorIntegracao, pfIntegracao.JaIntegrado, true)); } } } } if (retornoClientesIntegracao.PessoasJuridicas.Any()) { var listaPessoaJuridicaIntegracaoLimpa = new List <PessoaJuridica>(); foreach (var pjIntegracao in retornoClientesIntegracao.PessoasJuridicas) { var clienteJaExiste = listaPesquisaCliente.FirstOrDefault(x => x.Documento == pjIntegracao.Cnpj); if (clienteJaExiste != null) { clienteJaExiste.RegistroJaIntegradao = true; } else { var clientesMesmoDocumento = _servicoPessoaJuridica.PesquisarPessoaJuridica(null, pjIntegracao.Cnpj, null, null, null); if (clientesMesmoDocumento != null && clientesMesmoDocumento.Any()) { var clienteMesmoDocumento = clientesMesmoDocumento.FirstOrDefault(); ((List <Cliente>)listaPesquisaCliente).Add(new Cliente(0, clienteMesmoDocumento.RazaoSocial, clienteMesmoDocumento.DataDeConstituicao, "PJ", clienteMesmoDocumento.Cnpj, clienteMesmoDocumento.IdentificadorIntegracao, clienteMesmoDocumento.RegistroJaIntegrado, false)); } else { ((List <Cliente>)listaPesquisaCliente).Add(new Cliente(0, pjIntegracao.RazaoSocial, pjIntegracao.DataDeConstituicao, "PJ", pjIntegracao.Cnpj, pjIntegracao.IdentificadorIntegracao, pjIntegracao.RegistroJaIntegrado, true)); } } } } } model = ClienteAdaptador.ParaAplicacaoViewModel(model.Nome, model.Documento, model.Telefone, listaPesquisaCliente); return(model); }
public ClienteBuscaViewModel AtualizarClienteAtividade(long atividadeId, long novoClienteId, string novoClienteTipo, string userId, bool clienteSomenteContato, long?atualClienteId, string atualClienteTipo, long?clienteTipoContato) { var retorno = new ClienteBuscaViewModel(); long?pessoaFisicaId = null; long?pessoaJuridicaId = null; long?atualPessoaFisicaId = null; long?atualPessoaJuridicaId = null; if (string.IsNullOrEmpty(novoClienteTipo)) { retorno.ValidationResult.Add( new DomainValidation.Validation.ValidationError( "O tipo (pf= pessoa física / pj= pessoa jurídica) não foi informado.")); return(retorno); } if (atualClienteId.HasValue) { if (string.IsNullOrEmpty(atualClienteTipo)) { retorno.ValidationResult.Add( new DomainValidation.Validation.ValidationError( "O tipo (pf= pessoa física / pj= pessoa jurídica) do cliente atual não foi informado.")); return(retorno); } if (atualClienteTipo.ToUpper().Trim() == "PF") { atualPessoaFisicaId = atualClienteId; } else if (atualClienteTipo.ToUpper().Trim() == "PJ") { atualPessoaJuridicaId = atualClienteId; } else { retorno.ValidationResult.Add( new DomainValidation.Validation.ValidationError( "O tipo informado do cliente atual não corresponde com os valores esperados: (pf= pessoa física / pj= pessoa jurídica)")); return(retorno); } } if (novoClienteTipo.ToUpper().Trim() == "PF") { pessoaFisicaId = novoClienteId; } else if (novoClienteTipo.ToUpper().Trim() == "PJ") { pessoaJuridicaId = novoClienteId; } else { retorno.ValidationResult.Add( new DomainValidation.Validation.ValidationError( "O tipo informado não corresponde com os valores esperados: (pf= pessoa física / pj= pessoa jurídica)")); return(retorno); } // Aqui vou deletar o cliente atual do ParteEnvolvidas if (atualPessoaFisicaId.HasValue || atualPessoaJuridicaId.HasValue) { _servicoAtividadeParteEnvolvidaServico.Excluir(atividadeId, atualPessoaFisicaId, atualPessoaJuridicaId); } var atividade = _servicoAtividade.ObterPorId(atividadeId); if (atividade.AtividadeTipoId == 6) { var atividadeParteEnvolvidaCliente = _servicoAtividadeParteEnvolvidaServico.ObterPorAtividadeId(atividadeId); foreach (var parteEnvolvidada in atividadeParteEnvolvidaCliente) { if (parteEnvolvidada.TipoParteEnvolvida.ToLower().Trim() == "r") { parteEnvolvidada.SetarPessoaFisicaId(pessoaFisicaId); parteEnvolvidada.SetarPessoaJuridicaId(pessoaJuridicaId); _servicoAtividadeParteEnvolvidaServico.Atualizar(parteEnvolvidada); } } _servicoAtividade.AtualizarCliente(atividadeId, pessoaFisicaId, pessoaJuridicaId, userId, TipoParteEnvolvida.ClienteTratado.Value, false); } else { if (_servicoAtividadeParteEnvolvidaServico.PossuiClienteContato(atividadeId)) { _servicoAtividadeParteEnvolvidaServico.Adicionar(new AtividadeParteEnvolvida(atividadeId, pessoaFisicaId, pessoaJuridicaId, null, userId, TipoParteEnvolvida.ClienteTratado.Value, null, null)); } else { if (clienteSomenteContato) { _servicoAtividade.AtualizarCliente(atividadeId, pessoaFisicaId, pessoaJuridicaId, userId, TipoParteEnvolvida.ClienteContato.Value); if (atividade != null) { if (atividade.AtendimentoId.HasValue) { _servicoAtendimento.AtualizarClienteSomenteContato((long)atividade.AtendimentoId, true, clienteTipoContato); } } } else { _servicoAtividade.AtualizarCliente(atividadeId, pessoaFisicaId, pessoaJuridicaId, userId, TipoParteEnvolvida.ClienteTratado.Value); } } } retorno.PessoaJuridicaId = pessoaJuridicaId; retorno.PessoaFisicaId = pessoaFisicaId; retorno.AtividadeId = atividadeId; return(retorno); }