public async Task RemoverAtividadeUsuarioAsync(UsuarioADE usuario, AtividadeUsuario entity)
        {
            unitOfWork.RepositorioBase <AtividadeUsuario>().Remover(entity);
            NotificacaoIndividual notificacao = new NotificacaoIndividual(usuario.Id, usuario.Id, $"<i class='material-icons medium btn-outline-yellow prefix'>assignment_return</i> Sua atividade {entity}, foi deletada com sucesso!", $"Sua atividade {entity}, foi deletada com sucesso! na data {entity.DataHoraUltimaAlteracao.ToLocalTime()}.");

            await ServicoNotificacaoIndividual.CadastrarAsync(usuario, notificacao);

            await unitOfWork.Commit();
        }
        public async Task CriarNotificacaoParaAtividade(UsuarioADE usuario, AtividadeUsuario atividade)
        {
            EnumEstadoAtividade estado = atividade.VerificarEstado();
            string icon     = string.Empty;
            string verbo    = string.Empty;
            string adjetivo = string.Empty;

            switch (estado)
            {
            case EnumEstadoAtividade.Aberto:
                if (atividade.Concluido)
                {
                    icon     = "assignment_turned_in";
                    verbo    = "Concluiu";
                    adjetivo = "com sucesso";
                }
                else
                {
                    icon     = "assignment_turned_in";
                    verbo    = "Cadastrou";
                    adjetivo = "com sucesso";
                }
                break;

            case EnumEstadoAtividade.Adiantado:
                icon     = "card_giftcard";
                verbo    = "Concluiu";
                adjetivo = "com extrema eficiência!";
                break;

            case EnumEstadoAtividade.Atrasado:
                if (atividade.Concluido)
                {
                    verbo = "Concluiu";
                }
                else
                {
                    verbo = "Cadastrou";
                }

                icon     = "assignment_late";
                adjetivo = $"um pouco atrasado ({(DateTime.Today - atividade.Data).TotalDays} dias atrasado)";
                break;
            }
            string tipoAtividade = atividade.TipoAtividade.GetDescription();
            string titulo        = $"<i class='material-icons medium btn-outline-yellow'>{icon}</i> {verbo} a atividade.";
            string descricao     = $" <hr>Parabéns pelo seu empenho, continue assim!<hr> {verbo} {atividade.Titulo} {adjetivo} em {DateTime.Now.ToLocalTime()}";

            NotificacaoIndividual notificacao = new NotificacaoIndividual(usuario.Id, usuario.Id, titulo, descricao);

            await ServicoNotificacaoIndividual.CadastrarAsync(usuario, notificacao);

            await unitOfWork.Commit();
        }
Exemplo n.º 3
0
 public ServicoConclusaoAtividadeCurso(ref UnitOfWork _unitOfWork)
 {
     unitOfWork = _unitOfWork;
     ServicoNotificacaoIndividual = new ServicoNotificacaoIndividual(ref unitOfWork);
 }