public ValidationResult AtualizarEmailEnviado(long emailId) { var retorno = new ValidationResult(); var email = _repositorio.ObterPorId(emailId); if (email == null) { retorno.Add(new ValidationError("Nenhum e-mail retornado com o id: " + emailId)); return(retorno); } var status = _statusAtividadeServico.ObterStatusAtividadePadraoFinalizaParaEmail(); if (status == null) { retorno.Add(new ValidationError("Nenhum Status finalizador padrão cadastrado.")); return(retorno); } _atividadeServico.AtualizarStatus(email.AtividadeId, status.Id, null, null); _atividadeFilaServico.AtualizaSaiuDaFilaPorAtividadeId(email.AtividadeId); return(retorno); }
public ValidationResult AtualizarStatusAtividade(long atividadeId, int statusAtividadeId, string userId, int?midiaId, long?atendimentoId) { var retorno = new ValidationResult(); if (atendimentoId.HasValue && atendimentoId > 0) { var statusAtividade = _statusAtividadeServico.ObterPorId(statusAtividadeId); if (!string.IsNullOrEmpty(statusAtividade.EntidadeNecessaria)) { var podeAtualizar = _statusAtividadeServico.VerificarEntidadeRequeridaAtendimento((long)atendimentoId, statusAtividadeId); if (!podeAtualizar) { retorno.Add( new ValidationError( string.Format( "Não é possível alterar o status desse atendimento, pois ainda não houve criação e/ou interação de uma: {0}", statusAtividade.EntidadeNecessaria))); return(retorno); } } if (!string.IsNullOrEmpty(statusAtividade.EntidadeNaoNecessaria)) { var podeAtualizar = _statusAtividadeServico.VerificarEntidadeNaoRequeridaAtendimento((long)atendimentoId, statusAtividadeId); if (!podeAtualizar) { retorno.Add( new ValidationError( string.Format( "Não é possível alterar o status desse atendimento, pois houve criação e/ou interação de uma: {0}", statusAtividade.EntidadeNaoNecessaria))); return(retorno); } } if (statusAtividade.TempoMaximoAtividadeEmMinutos.HasValue) { var podeAtualizar = _statusAtividadeServico.VerificarTempoAtividade(atividadeId, statusAtividadeId); if (!podeAtualizar) { retorno.Add( new ValidationError( string.Format( "Não é possível alterar o status desse atendimento para {0}, pois já foi ultrapassado o tempo máximo para essa classificação.", statusAtividade.Descricao))); return(retorno); } } if (statusAtividade.StatusAtividadeIdRequerida.HasValue) { var podeAtualizar = _statusAtividadeServico.VerificarStatusAtividadeRequerida(atividadeId, statusAtividadeId); if (!podeAtualizar) { retorno.Add( new ValidationError( string.Format( "Não é possível alterar o status desse atendimento para {0}, pois o status atual não condiz com o status requerido para essa alteração.", statusAtividade.Descricao))); return(retorno); } } if (midiaId.HasValue && midiaId > 0) { _atendimentoServico.AtualizarMidia((long)atendimentoId, (int)midiaId); } } _atividadeServico.AtualizarStatus(atividadeId, statusAtividadeId, userId, midiaId); return(retorno); }