public _LigacaoViewModel Carregar(long?id, long?atividadiId) { var ligacao = _servicoLigacao.ObterPor(id, atividadiId); if (ligacao == null) { var retorno = new _LigacaoViewModel(); retorno.ValidationResult.Add( new ValidationError("Nenhuma Ligação Encontrada com os parametros fornecidos")); return(retorno); } if (ligacao.Atividade.Atendimento == null) { var atendimento = _servicoAtendimento.AdicionarNovoAtendimento(1, "f712efbb-4646-4870-8f37-a687cb2e8978", ligacao.Atividade.MidiasId); if (atendimento != null) { ligacao.Atividade.Atendimento = atendimento; } } if (ligacao.TelefoneId.HasValue) { ligacao.Telefone = _servicoTelefone.ObterPorId(ligacao.TelefoneId.Value); } if (ligacao.Atividade.StatusAtividadeId > 0) { ligacao.Atividade.StatusAtividade = _statusAtividadeServico.ObterPorId(ligacao.Atividade.StatusAtividadeId); } var midias = _servicoMidia.ObterTodos(); var statusAtividades = ligacao.Receptiva == null ? _statusAtividadeServico.ObterTodos() : (ligacao.Receptiva.Value ? _statusAtividadeServico.ObterStatusAtividadeLigacaoReceptiva() : _statusAtividadeServico.ObterStatusAtividadeLigacaoAtiva()); return(new _LigacaoViewModel(ligacao, midias, statusAtividades)); }
public AtividadeNewViewModel Editar(long id, string userId, bool linkFila) { if (linkFila) //Limpando Atividade da Fila atual { _atividadeServico.AtualizarDadosAtividadeEAtividadeFila(userId, id); } var model = new AtividadeNewViewModel(); var atividade = _atividadeServico.ObterPorIdDal(id); if (atividade != null) { if (atividade.AtividadeTipoId == 3) { var clienteTratativa = _atividadeParteEnvolvidaServico.BuscarUltimoClienteTratativa(atividade.Id); if (clienteTratativa != null) { atividade.PessoasFisicasId = clienteTratativa.PessoasFisicasId; atividade.PessoasJuridicasId = clienteTratativa.PessoasJuridicasId; } else { atividade.PessoasFisicasId = null; atividade.PessoasJuridicasId = null; } } model = Carregar(atividade.CriadoPorUserId, atividade.PessoasFisicasId, atividade.PessoasJuridicasId, atividade.PotenciaisClientesId, atividade.OcorrenciaId); var clienteContato = _atividadeParteEnvolvidaServico.BuscarClienteContato(atividade.Id); if (clienteContato != null) { if (clienteContato.PessoasFisicasId.HasValue) { model.ContatoPessoaFisicaId = (long)clienteContato.PessoasFisicasId; } else if (clienteContato.PessoasJuridicasId.HasValue) { model.ContatoPessoaJuridicaId = (long)clienteContato.PessoasJuridicasId; } } model.id = atividade.Id; model.atendimentoID = atividade.AtendimentoId; model.atividadeFinalizada = atividade.FinalizadoEm != null; model.atividadeTipoID = (int)atividade.AtividadeTipoId; model.contratoID = atividade.ContratoId; model.criadoEm = atividade.CriadoEm; model.descricao = atividade.Descricao; model.midiaID = atividade.MidiasId; model.previsaoDeExecucao = atividade.PrevisaoDeExecucao; model.statusAtividadeID = atividade.StatusAtividadeId; model.titulo = atividade.Titulo; model.UsuarioId = atividade.UsuarioId; model.finalizadoEm = atividade.FinalizadoEm; CarregarAtividadeLigacao(model, atividade.Id); CarregarAtividadeTarefa(model, atividade.Id); CarregarAtividadeEmail(model, atividade, userId); CarregarAtividadeChat(model, atividade, userId); if (model.Ligacao.sentido.ToLower().Contains("ativa")) { model.listaStatusAtividade = _statusAtividadeServico.ObterStatusAtividadeLigacaoAtiva(); } var listaAtividadesFilas = _atividadeFilaServico.ObterPorAtividadeId(atividade.Id).Where(c => c.SaiuDaFilaEm == null); if (listaAtividadesFilas.Any()) { model.filaID = listaAtividadesFilas.OrderByDescending(c => c.EntrouNaFilaEm).FirstOrDefault().FilaId; } if (atividade.AtendimentoId != null) { var atendimento = _atendimentoServico.ObterPorId((long)atividade.AtendimentoId); if (atendimento != null) { model.protocolo = atendimento.Protocolo; if (atendimento.MidiasId.HasValue && atendimento.MidiasId != 0) { var midia = _midiaServico.ObterPorId((int)atendimento.MidiasId); if (midia != null) { model.midia = midia.Nome; model.midiaID = (int)midia.Id; } } } } if (atividade.MidiasId != null && !model.midiaID.HasValue) { var midia = _midiaServico.ObterPorId((int)atividade.MidiasId); if (midia != null) { model.midia = midia.Nome; } } if (atividade.OcorrenciaId != null) { var ocorrencia = _ocorrenciaServico.ObterPorId((long)atividade.OcorrenciaId); if (ocorrencia != null) { if (!model.pessoaFisicaID.HasValue) { model.pessoaFisicaID = ocorrencia.PessoaFisicaId; } if (!model.pessoaJuridicaID.HasValue) { model.pessoaJuridicaID = ocorrencia.PessoaJuridicaId; } var ocorrenciaTipo = _ocorrenciaTipoServico.ObterPorId(ocorrencia.OcorrenciasTiposId); if (ocorrenciaTipo != null) { model.referente = ocorrenciaTipo.NomeExibicao; } } } var statusAtividade = _statusAtividadeServico.ObterPorId(atividade.StatusAtividadeId); if (statusAtividade != null) { model.nomeStatusAtividade = statusAtividade.Descricao; model.atividadeFinalizada = statusAtividade.FinalizaAtividade; } var criadoPor = _usuarioServico.ObterPorUserId(atividade.CriadoPorUserId); if (criadoPor != null) { model.criadoPor = criadoPor.Nome.ToUpper(); } var responsavel = _usuarioServico.ObterPorUserId(string.IsNullOrEmpty(atividade.ResponsavelPorUserId) ? atividade.CriadoPorUserId : atividade.ResponsavelPorUserId); if (responsavel != null) { model.responsavel = responsavel.Nome.ToUpper(); } model.podeEditar = string.IsNullOrEmpty(atividade.ResponsavelPorUserId) ? atividade.CriadoPorUserId == userId : atividade.ResponsavelPorUserId == userId; if (!string.IsNullOrEmpty(atividade.FinalizadoPorUserId)) { var usuarioFinalizador = _usuarioServico.ObterPorUserId(atividade.FinalizadoPorUserId); if (usuarioFinalizador != null) { model.UsuarioFinalizador = usuarioFinalizador.Nome; } } } else { model.ValidationResult.Add( new DomainValidation.Validation.ValidationError( "Não foram encontradas atividades para o ID informado.")); } return(model); }