public void Add(Notificacao notificacao)
        {
            notificacao.Id = 0;
            notificacao.DeId = notificacao.De.Id;
            notificacao.ParaId = notificacao.Para.Id;

            this.Db.Insert(notificacao);
        }
Esempio n. 2
0
 public void Salvar(Notificacao notificacao)
 {
     ValidarNotificacaoInformada(notificacao);
     repositorio.Salvar(notificacao);
 }
Esempio n. 3
0
 public ConfigNotificacao(Notificacao notificacao)
 {
     Notificacao = notificacao;
 }
Esempio n. 4
0
        public override int SaveChanges()
        {
            foreach (var entry in ChangeTracker.Entries())
            {
                if (entry.State != EntityState.Unchanged)
                {
                    var log = new Log();

                    log.TableName = entry.Entity.GetType().ToString();
                    log.QueryType = entry.State.ToString();

                    StringBuilder data = new StringBuilder();

                    foreach (var prop in entry.Entity.GetType().GetProperties())
                    {
                        if (data.Length > 0)
                        {
                            data.Append(";");
                        }
                        data.Append(prop.Name);
                        data.Append(":");
                        data.Append(prop.GetValue(entry.Entity));
                    }

                    log.Data = data.ToString();
                    this.Log.Add(log);
                }
            }

            foreach (var entry in ChangeTracker.Entries())
            {
                if (entry.Entity is NotificacaoMetaData && entry.State != EntityState.Unchanged)
                {
                    var  notificacao = new Notificacao();
                    bool IsValid     = false;

                    notificacao.TipoNotificacao    = entry.State.ToString();
                    notificacao.EntidadeModificada = entry.Entity.GetType().ToString();
                    notificacao.DataNotificacao    = DateTime.Now;

                    if (entry.Cast <NotificacaoMetaData>().Entity.GetTipoNotificacao() == typeof(Grupo))
                    {
                        var grupo = ((Grupo)entry.Entity);
                        notificacao.Grupo   = grupo;
                        notificacao.GrupoId = grupo.Id;
                        notificacao.Texto   = string.Format("O grupo {0} foi {1}", grupo.Nome.LimitLines(), entry.State.ToPortuguese().LimitLines());
                        IsValid             = true;
                    }
                    else if (entry.Cast <NotificacaoMetaData>().Entity.GetTipoNotificacao() == typeof(Quest))
                    {
                        var quest = ((Quest)entry.Entity);
                        if (quest.GrupoCriadorId != null)
                        {
                            notificacao.Grupo = quest.GrupoCriador;
                            notificacao.Texto = string.Format("A Quest {0} do grupo {1} foi {2}", quest.Nome.LimitLines(), quest.GrupoCriador.Nome.LimitLines(), entry.State.ToPortuguese().LimitLines());
                            IsValid           = true;
                        }
                    }
                    else if (entry.Cast <NotificacaoMetaData>().Entity.GetTipoNotificacao() == typeof(Task))
                    {
                        var task = ((Task)entry.Entity);
                        if (task.Quest.GrupoCriador != null)
                        {
                            notificacao.Grupo   = task.Quest.GrupoCriador;
                            notificacao.GrupoId = task.Quest.GrupoCriador.Id;
                            notificacao.Texto   = string.Format("A Task {0} do grupo {1} foi {2}", task.Nome.LimitLines(), task.Quest.GrupoCriador.Nome.LimitLines(), entry.State.ToPortuguese().LimitLines());
                            IsValid             = true;
                        }
                    }
                    else if (entry.Cast <NotificacaoMetaData>().Entity.GetTipoNotificacao() == typeof(Feedback))
                    {
                        var feedback = ((Feedback)entry.Entity);
                        if (feedback.Task.Quest.GrupoCriador != null)
                        {
                            notificacao.Grupo   = feedback.Task.Quest.GrupoCriador;
                            notificacao.GrupoId = feedback.Task.Quest.GrupoCriador.Id;
                            notificacao.Texto   = string.Format("Um Feedback referente ao grupo {0} foi {1}", feedback.Task.Quest.GrupoCriador.Nome.LimitLines(), entry.State.ToPortuguese().LimitLines());
                            IsValid             = true;
                        }
                    }
                    if (IsValid)
                    {
                        this.Notificacao.Add(notificacao);
                    }
                }
            }
            return(base.SaveChanges());
        }
Esempio n. 5
0
 public ValidationFailureCustom(string propertyName, string errorMessage, Notificacao _Notificacao) : this(propertyName, errorMessage)
 {
     Notificacao = _Notificacao;
 }
        public ActionResult AdicionarResultado(Resultado r)
        {
            Jogo j = JogoDAO.Jogo(r.CodJogo);

            j.Ocorreu = 1;
            JogoDAO.Altera(j);

            // Calculo de pontos de cada usuario
            foreach (Votacao v in VotacaoDAO.ListaDeVotosDoJogo(j.Id))
            {
                Usuario     u = UsuarioDAO.returnUsuario(v.CodUsuario);
                Notificacao n = new Notificacao();

                n.pontosGanhos = u.qntsPontos;

                if (r.QtdGolA > r.QtdGolB && v.CodTimeVotado == j.CodTimeA)
                {
                    if (j.QtdVotosTimeA >= j.QtdVotosTimeB && j.QtdVotosTimeA >= j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosTimeA > j.QtdVotosTimeB && j.QtdVotosTimeA < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeA < j.QtdVotosTimeB && j.QtdVotosTimeA > j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeA < j.QtdVotosTimeB && j.QtdVotosTimeA < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 500;
                    }
                }
                if (r.QtdGolA < r.QtdGolB && v.CodTimeVotado == j.CodTimeB)
                {
                    if (j.QtdVotosTimeB >= j.QtdVotosTimeA && j.QtdVotosTimeB >= j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosTimeB > j.QtdVotosTimeA && j.QtdVotosTimeB < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeB < j.QtdVotosTimeA && j.QtdVotosTimeB > j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeB < j.QtdVotosTimeA && j.QtdVotosTimeB < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 500;
                    }
                }
                if (r.QtdGolA == r.QtdGolB && v.CodTimeVotado == 0)
                {
                    if (j.QtdVotosEmpate >= j.QtdVotosTimeA && j.QtdVotosEmpate >= j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosEmpate > j.QtdVotosTimeA && j.QtdVotosEmpate < j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosEmpate < j.QtdVotosTimeA && j.QtdVotosEmpate > j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosEmpate < j.QtdVotosTimeA && j.QtdVotosEmpate < j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 500;
                    }
                }

                n.pontosGanhos = u.qntsPontos - n.pontosGanhos;
                n.data         = DateTime.Now;
                n.CodJogo      = j.Id;
                n.CodUsuario   = u.Id;

                NotificacaoDAO.Adicionar(n);
                UsuarioDAO.Alterar(u);
            }

            ResultadoDAO.Adiciona(r);
            return(RedirectToAction("AdicionaResultado", "Admin"));
        }
 public void AdicionarNotificacao(Notificacao notificacao)
 {
     _listaNotificacoes.Add(notificacao);
 }
Esempio n. 8
0
 public void Handle(Notificacao notificacao)
 {
     _notificacoes.Add(notificacao);
 }
 public int SetNotificacao(Notificacao notificacao)
 {
     return(new NotificacaoBusiness(new NotificacaoEntity(), new AccessEntity(), new AlunoEntity(), new NotificacaoDuvidasAcademicasEntity(), new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())).SetNotificacaoLida(notificacao));
 }
Esempio n. 10
0
    public void showNotification(string title, string msg, float time)
    {
        Notificacao notify = this.notifiPopup.GetComponent <Notificacao>();

        notify.show(title, msg, time);
    }
Esempio n. 11
0
 public NotificacaoVM()
 {
     Notificacao = new Notificacao();
     ArquivoVM   = new ArquivoVM();
 }
Esempio n. 12
0
        public Notificacao Criar(Notificacao notificacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"
                                    insert into {0}tab_fisc_notificacao (id,
                                                                   fiscalizacao,
                                                                   forma_iuf,
                                                                   forma_jiapi,
                                                                   forma_core,
                                                                   forma_iuf_data,
                                                                   forma_jiapi_data,
                                                                   forma_core_data,
                                                                   tid)
                                    values ({0}seq_tab_fisc_notificacao.nextval,
                                            :fiscalizacao,
                                            :forma_iuf,
                                            :forma_jiapi,
                                            :forma_core,
                                            :forma_iuf_data,
                                            :forma_jiapi_data,
                                            :forma_core_data,
                                            :tid)
                                    returning id into :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", notificacao.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_iuf", notificacao.FormaIUF, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_jiapi", notificacao.FormaJIAPI, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_core", notificacao.FormaCORE, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_iuf_data", notificacao.DataIUF.Data, DbType.Date);
                comando.AdicionarParametroEntrada("forma_jiapi_data", notificacao.DataJIAPI.Data, DbType.Date);
                comando.AdicionarParametroEntrada("forma_core_data", notificacao.DataCORE.Data, DbType.Date);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                notificacao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #region Anexos

                foreach (var item in (notificacao.Anexos ?? new List <Anexo>()))
                {
                    comando = bancoDeDados.CriarComando(@"
					 insert into {0}tab_fisc_notificacao_arq a
					   (id, 
						notificacao, 
						arquivo, 
						ordem, 
						descricao, 
						tid)
					 values
					   ({0}seq_tab_fisc_notificacao_arq.nextval,
						:notificacao,
						:arquivo,
						:ordem,
						:descricao,
						:tid)"                        , EsquemaBanco);

                    comando.AdicionarParametroEntrada("notificacao", notificacao.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32);
                    comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao);
                    comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                    bancoDeDados.ExecutarNonQuery(comando);
                }

                #endregion

                Historico.Gerar(notificacao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(notificacao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }
            return(notificacao);
        }
Esempio n. 13
0
        public Notificacao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            var notificacao = new Notificacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"
                                    select tfn.id,
											f.id as fiscalizacao,
											tfn.forma_iuf,
											tfn.forma_jiapi,
											tfn.forma_core,
											tfn.forma_iuf_data,
											tfn.forma_jiapi_data,
											tfn.forma_core_data,
											coalesce(cast(m.iuf_numero as varchar2(10)), tfi.numero_auto_infracao_bloco, cast(f.autos as varchar2(10))) iuf_numero,
											coalesce(i.pessoa, i.responsavel) pessoa
										from tab_fiscalizacao f 
										left join tab_fisc_notificacao tfn 
											on (tfn.fiscalizacao = f.id )
										left join tab_fisc_multa m
											on (m.fiscalizacao = f.id )
										left join tab_fisc_local_infracao i
											on (i.fiscalizacao = f.id)
										left join tab_fisc_infracao tfi
											on (tfi.fiscalizacao = f.id)
										where f.id = :fiscalizacao"                                        , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        notificacao = new Notificacao
                        {
                            Id              = reader.GetValue <int>("id"),
                            FiscalizacaoId  = reader.GetValue <int>("fiscalizacao"),
                            NumeroIUF       = reader.GetValue <string>("iuf_numero"),
                            FormaIUF        = reader.GetValue <int>("forma_iuf"),
                            FormaJIAPI      = reader.GetValue <int>("forma_jiapi"),
                            FormaCORE       = reader.GetValue <int>("forma_core"),
                            AutuadoPessoaId = reader.GetValue <int>("pessoa")
                        };

                        notificacao.DataIUF.Data   = reader.GetValue <DateTime>("forma_iuf_data");
                        notificacao.DataJIAPI.Data = reader.GetValue <DateTime>("forma_jiapi_data");
                        notificacao.DataCORE.Data  = reader.GetValue <DateTime>("forma_core_data");
                        if (notificacao.DataIUF.Data.HasValue && notificacao.DataIUF.Data.Value.Year == 1)
                        {
                            notificacao.DataIUF = new DateTecno();
                        }
                        if (notificacao.DataJIAPI.Data.HasValue && notificacao.DataJIAPI.Data.Value.Year == 1)
                        {
                            notificacao.DataJIAPI = new DateTecno();
                        }
                        if (notificacao.DataCORE.Data.HasValue && notificacao.DataCORE.Data.Value.Year == 1)
                        {
                            notificacao.DataCORE = new DateTecno();
                        }
                        notificacao.AutuadoPessoa = notificacao.AutuadoPessoaId > 0 ? new PessoaBus().Obter(notificacao.AutuadoPessoaId) : new Pessoa();
                    }
                    else
                    {
                        notificacao = null;
                    }
                    reader.Close();
                }

                #region Anexos

                if (notificacao?.Id > 0)
                {
                    comando = bancoDeDados.CriarComando(@"
				select a.id Id,
					   a.ordem Ordem,
					   a.descricao Descricao,
					   b.nome,
					   b.extensao,
					   b.id arquivo_id,
					   b.caminho,
					   a.tid Tid
				  from {0}tab_fisc_notificacao_arq a, 
					   {0}tab_arquivo b
				 where a.arquivo = b.id
				   and a.notificacao = :notificacao
				 order by a.ordem"                , EsquemaBanco);

                    comando.AdicionarParametroEntrada("notificacao", notificacao.Id, DbType.Int32);

                    notificacao.Anexos = bancoDeDados.ObterEntityList <Anexo>(comando, (IDataReader reader, Anexo item) =>
                    {
                        item.Arquivo.Id       = reader.GetValue <int>("arquivo_id");
                        item.Arquivo.Caminho  = reader.GetValue <string>("caminho");
                        item.Arquivo.Nome     = reader.GetValue <string>("nome");
                        item.Arquivo.Extensao = reader.GetValue <string>("extensao");
                    });
                }

                #endregion
            }

            return(notificacao);
        }
Esempio n. 14
0
        public Notificacao Editar(Notificacao notificacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"
                                    update {0}tab_fisc_notificacao t
                                    set t.fiscalizacao = :fiscalizacao,
										t.forma_iuf = :forma_iuf,
                                        t.forma_jiapi = :forma_jiapi,
                                        t.forma_core = :forma_core,
                                        t.forma_iuf_data = :forma_iuf_data,
                                        t.forma_jiapi_data = :forma_jiapi_data,
                                        t.forma_core_data = :forma_core_data,
                                        t.tid = :tid
                                    where t.id = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", notificacao.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("fiscalizacao", notificacao.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_iuf", notificacao.FormaIUF, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_jiapi", notificacao.FormaJIAPI, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_core", notificacao.FormaCORE, DbType.Int32);
                comando.AdicionarParametroEntrada("forma_iuf_data", notificacao.DataIUF.Data, DbType.Date);
                comando.AdicionarParametroEntrada("forma_jiapi_data", notificacao.DataJIAPI.Data, DbType.Date);
                comando.AdicionarParametroEntrada("forma_core_data", notificacao.DataCORE.Data, DbType.Date);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                #region Anexos

                comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_notificacao_arq ra ", EsquemaBanco);
                comando.DbCommand.CommandText += String.Format("where ra.notificacao = :notificacao{0}",
                                                               comando.AdicionarNotIn("and", "ra.id", DbType.Int32, notificacao.Anexos?.Select(x => x.Id).ToList()));
                comando.AdicionarParametroEntrada("notificacao", notificacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                foreach (var item in (notificacao.Anexos ?? new List <Anexo>()))
                {
                    if (item.Id > 0)
                    {
                        comando = bancoDeDados.CriarComando(@"
							update {0}tab_fisc_notificacao_arq t
							   set t.arquivo   = :arquivo,
								   t.ordem     = :ordem,
								   t.descricao = :descricao,
								   t.tid       = :tid
							 where t.id = :id"                            , EsquemaBanco);
                        comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32);
                    }
                    else
                    {
                        comando = bancoDeDados.CriarComando(@"
							insert into {0}tab_fisc_notificacao_arq a
							  (id, 
							   notificacao, 
							   arquivo, 
							   ordem, 
							   descricao, 
							   tid)
							values
							  ({0}seq_tab_fisc_notificacao_arq.nextval,
							   :notificacao,
							   :arquivo,
							   :ordem,
							   :descricao,
							   :tid)"                            , EsquemaBanco);

                        comando.AdicionarParametroEntrada("notificacao", notificacao.Id, DbType.Int32);
                    }

                    comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32);
                    comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao);
                    comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                    bancoDeDados.ExecutarNonQuery(comando);
                }

                #endregion

                Historico.Gerar(notificacao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(notificacao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }
            return(notificacao);
        }
Esempio n. 15
0
        private async Task GerarNotificacaoFechamento(FechamentoTurmaDisciplina fechamentoTurmaDisciplina, Turma turma, int quantidadePendencias, Usuario usuarioLogado, PeriodoEscolar periodoEscolar)
        {
            var componentes = await repositorioComponenteCurricular.ObterDisciplinasPorIds(new long[] { fechamentoTurmaDisciplina.DisciplinaId });

            if (componentes == null || !componentes.Any())
            {
                throw new NegocioException("Componente curricular não encontrado.");
            }
            var ue = turma.Ue;

            if (ue == null)
            {
                throw new NegocioException("UE não encontrada.");
            }

            var dre = ue.Dre;

            if (dre == null)
            {
                throw new NegocioException("DRE não encontrada.");
            }

            var urlFrontEnd = configuration["UrlFrontEnd"];

            if (string.IsNullOrWhiteSpace(urlFrontEnd))
            {
                throw new NegocioException("Url do frontend não encontrada.");
            }

            var notificacao = new Notificacao()
            {
                UsuarioId = usuarioLogado.Id,
                Ano       = DateTime.Now.Year,
                Categoria = NotificacaoCategoria.Aviso,
                Titulo    = $"Pendência no fechamento da turma {turma.Nome}",
                Tipo      = NotificacaoTipo.Fechamento,
                Mensagem  = $"O fechamento do {periodoEscolar.Bimestre}º bimestre de {componentes.FirstOrDefault().Nome} da turma {turma.Nome} da {ue.Nome} ({dre.Nome}) gerou {quantidadePendencias} pendência(s). " +
                            $"Clique <a href='{urlFrontEnd}fechamento/pendencias-fechamento/{periodoEscolar.Bimestre}/{fechamentoTurmaDisciplina.DisciplinaId}'>aqui</a> para mais detalhes."
            };

            servicoNotificacao.Salvar(notificacao);

            var diretores = servicoEOL.ObterFuncionariosPorCargoUe(ue.CodigoUe, (long)Cargo.Diretor);

            if (diretores != null)
            {
                foreach (var diretor in diretores)
                {
                    var notificacaoDiretor = notificacao;
                    notificacaoDiretor.Id = 0;
                    var usuario = servicoUsuario.ObterUsuarioPorCodigoRfLoginOuAdiciona(diretor.CodigoRf);
                    notificacaoDiretor.UsuarioId = usuario.Id;
                    servicoNotificacao.Salvar(notificacaoDiretor);
                }
            }

            var cps = servicoEOL.ObterFuncionariosPorCargoUe(ue.CodigoUe, (long)Cargo.CP);

            if (cps != null)
            {
                foreach (var cp in cps)
                {
                    var notificacaoCp = notificacao;
                    notificacaoCp.Id = 0;
                    var usuario = servicoUsuario.ObterUsuarioPorCodigoRfLoginOuAdiciona(cp.CodigoRf);
                    notificacaoCp.UsuarioId = usuario.Id;
                    servicoNotificacao.Salvar(notificacaoCp);
                }
            }
        }
Esempio n. 16
0
 public async Task MonitoringNotification(Notificacao msg)
 {
     await _connection.InvokeAsync("MonitoringNotification", msg);
 }
Esempio n. 17
0
        public Tipo listarTipoID(Notificacao n)
        {
            var qry = from t in contexto.Tipo where t.idTipo == n.Tipo select t;

            return(qry.Single());
        }
 /// <summary>
 /// Cadastrar nova notificacao
 /// </summary>
 /// <param name="novoNotificacao"></param>
 public void Cadastrar(Notificacao novoNotificacao)
 {
     novoNotificacao.DataNotificacao = DateTime.Now;
     ctx.Notificacao.Add(novoNotificacao);
     ctx.SaveChanges();
 }
 public void Salvar(Notificacao notificacao)
 {
     GeraNovoCodigo(notificacao);
     repositorioNotificacao.Salvar(notificacao);
 }