public ValidationResult AdicionarSolicitacaoLigacaoCorretor(long ocorrenciaId, string criadoPorUserId, string descricao) { var retorno = new ValidationResult(); var statusAtividade = _servicoStatusAtividade.ObterStatusAtividadePadraoParaLigacao(); var valorEncontrado = statusAtividade != null; if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhum status atividade padrão para ligação retornado")); return(retorno); } valorEncontrado = false; var atividadeTipo = _servicoAtividadeTipo.BuscarPorNome("Ligação"); if (atividadeTipo != null) { valorEncontrado = true; } if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhuma atividade tipo para o nome Ligação foi retornado")); return(retorno); } var ocorrencia = _servicoOcorrencia.ObterPorId(ocorrenciaId); var atividade = new Atividade() { CriadoPorUserId = criadoPorUserId, CriadoEm = DateTime.Now, StatusAtividadeId = statusAtividade.Id, AtividadeTipoId = atividadeTipo.Id, Titulo = "Ligação Ativa", Descricao = descricao, OcorrenciaId = ocorrenciaId, PessoasFisicasId = ocorrencia.PessoaFisicaId, PessoasJuridicasId = ocorrencia.PessoaJuridicaId }; retorno = Adicionar(atividade); if (!retorno.IsValid) { return(retorno); } var configuracao = new Configuracao(); configuracao.SetarListaSolicitacaoLigacaoCorretor(); var nomeFilaSolicitacaoCorretor = _servicoConfiguracao.ObterPor(configuracao); valorEncontrado = false; if (nomeFilaSolicitacaoCorretor != null) { if (nomeFilaSolicitacaoCorretor.Any()) { valorEncontrado = true; } } if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhuma lista para tratativa de solicitações Corretor cadastrada.")); return(retorno); } retorno = _servicoAtividadeFila.AdicionarAtividadeFila(nomeFilaSolicitacaoCorretor.FirstOrDefault().Valor, atividade.Id); return(retorno); }