/// <summary> /// Cria, no banco de dados, um novo usuário /// </summary> /// <param name="usuario">Usuário que será criado</param> /// <param name="novaSenha">Senha gerada para o novo usuário</param> /// <returns>Retorna o usuário criado</returns> public static Usuario CriaUsuario(Usuario usuario, string novaSenha) { UsuarioRepositorio usuarioRepositorio = new UsuarioRepositorio(); NotificacaoRepositorio notificacaoRepositorio = new NotificacaoRepositorio(); ControleNotificacao controle; usuario.Senha = Autenticacao.ObtemSHA1Hash(novaSenha); try { usuarioRepositorio.Cria(usuario); controle = new ControleNotificacao() { IdUsuario = usuario.Id.Value, UltimaNotificacao = notificacaoRepositorio.ObtemUltimaNotificacaoArmazenada() }; notificacaoRepositorio.Cria(controle); return(usuario); } catch (Exception ex) { Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString()); return(null); } }
/// <summary> /// Verifica se há novas notificações para informar no ícone de notificações /// </summary> private void VerificaNotificacao() { ControleNotificacao controle = GerenciamentoNotificacao.CarregaControleNotificacao(this.usuario.Id.Value); NotificacaoConta notificacaoConta = GerenciamentoNotificacao.ObtemNotificacoes(controle.UltimaNotificacao); if (notificacaoConta != null && notificacaoConta.Notificacoes.Count > 0) { this.LblNumeroNotificacoes.Text = notificacaoConta.Notificacoes.Count.ToString(); this.LblNumeroNotificacoes.Visible = true; } }
/// <summary> /// Atualiza, no banco de dados, as configurações de notificação do usuário /// </summary> /// <param name="controleNotificacao">Objeto controle de notificação que será atualizado</param> /// <returns>Indica se a atualização foi bem sucedida</returns> public static bool AtualizaControleNotificacao(ControleNotificacao controleNotificacao) { NotificacaoRepositorio notificacaoRepositorio = new NotificacaoRepositorio(); try { notificacaoRepositorio.Atualiza(controleNotificacao); return(true); } catch (Exception ex) { Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString()); return(false); } }
/// <summary> /// Obtém as notificações da conta de uso /// </summary> private void ObtemNotificacoes() { Usuario usuario = (Usuario)this.Session[ConstantesGlobais.USUARIO]; ControleNotificacao controle = GerenciamentoNotificacao.CarregaControleNotificacao(usuario.Id.Value); NotificacaoConta notificacaoConta = GerenciamentoNotificacao.ObtemNotificacoes(controle.UltimaNotificacao); if (notificacaoConta != null && notificacaoConta.Notificacoes.Count > 0) { this.usuarios = (List <UsuarioApi>)GerenciamentoUsuario.CarregaUsuariosApi(); this.RptNotificacao.DataSource = notificacaoConta.Notificacoes.OrderByDescending(n => n.DataNotificacao); this.RptNotificacao.DataBind(); controle.UltimaNotificacao = notificacaoConta.ContinuaEm; GerenciamentoNotificacao.AtualizaControleNotificacao(controle); } }