Пример #1
0
        public async Task DeslogarAsync(UsuarioADE usuario, Logins login)
        {
            unitOfWork.RepositorioBase <Logins>().Editar(login);
            string Mensagem = $"{usuario.ToString()} realizou LOGOUT";

            await LogAcao(usuario, Mensagem, "ServicoLogins", EnumTipoLog.Outro, TipoEvento.Alteracao);
        }
        public async Task <IdentityResult> RemoverUsuario(UsuarioADE usuarioAgente, UsuarioADE usuarioCriado = null)
        {
            IdentityResult result = await ServicoUsuario.RemoverAsync(usuarioAgente, usuarioCriado);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuario {usuarioAgente.ToString()} removeu seus dados pessoais", "BaseController RemoverUsuario", EnumTipoLog.DelecaoUsuario, TipoEvento.Alteracao);
            }
            return(result);
        }
        public async Task <IdentityResult> SetarTipoRecebimentoNotificacao(UsuarioADE usuario, EnumTipoRecebimentoNotificacao TipoRecebimentoNotificacao)
        {
            IdentityResult result = await ServicoUsuario.SetarTipoRecebimentoNotificacao(usuario, TipoRecebimentoNotificacao);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuario {usuario.ToString()} removeu seus dados pessoais", "BaseController RemoverUsuario", EnumTipoLog.DelecaoUsuario, TipoEvento.Alteracao);
            }
            return(result);
        }
        public async Task <IdentityResult> AtualizarEmail(UsuarioADE usuario, string Email)
        {
            IdentityResult result = await ServicoUsuario.AtualizarEmail(usuario, Email);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuario {usuario.ToString()} seu e-mail", "BaseController AtualizarEmail", EnumTipoLog.AlteracaoUsuario, TipoEvento.Alteracao, usuario);
            }
            return(result);
        }
        public async Task <IdentityResult> AtualizarUsuario(UsuarioADE usuarioAgente, UsuarioADE usuarioCriado = null)
        {
            IdentityResult result = await ServicoUsuario.AtualizarAsync(usuarioAgente, usuarioCriado);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuario {usuarioAgente.ToString()} atualizou informações pessoais", "BaseController AtualizarAsync", EnumTipoLog.AlteracaoUsuario, TipoEvento.Alteracao, usuarioAgente);
            }
            return(result);
        }
        public async Task <IdentityResult> RegistrarUsuarioAdministrador(UsuarioADE usuarioAgente, UsuarioADE usuarioCriado, EnumTipoUsuario funcao, bool existente)
        {
            IdentityResult result = await ServicoUsuario.CadastrarAdministradorAsync(usuarioCriado, usuarioCriado.PasswordHash, existente, funcao);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuário {usuarioAgente.ToString()} CADASTROU o usuário {usuarioCriado.ToString()} no sistema como {funcao}", "BaseController RegistrarUsuarioAdministrador", EnumTipoLog.AlteracaoUsuario, TipoEvento.Alteracao, usuarioAgente);
            }
            return(result);
        }
        public async Task <IdentityResult> RegistrarUsuario(UsuarioADE usuarioAgente)
        {
            IdentityResult result = await ServicoUsuario.CadastrarAsync(usuarioAgente, usuarioAgente.PasswordHash);

            if (result.Succeeded)
            {
                await SalvarLog($"Usuário {usuarioAgente.ToString()} foi cadastrado no sistema", "BaseController RegistrarUsuario", EnumTipoLog.RegistroDeUsuario, TipoEvento.Criacao, usuarioAgente);
            }
            return(result);
        }
        public async Task <ActionResult> ConfirmarEmail(UsuarioADE usuario, string code)
        {
            try
            {
                IdentityResult result = await ServicoUsuario.ConfirmarEmail(usuario, code);

                if (result.Succeeded)
                {
                    await SalvarLog($"Usuario {usuario.ToString()} confirmou seu cadastro por e-mail", "BaseController ConfirmarEmail", EnumTipoLog.RegistroDeUsuario, TipoEvento.Criacao, usuario);
                    await LogarUsuario(usuario, usuario.Email);

                    return(View("ConfirmEmail"));
                }
                else
                {
                    List <IdentityError> ErrorList = result.Errors.ToList();
                    if (ErrorList.Count > 0)
                    {
                        foreach (IdentityError error in ErrorList)
                        {
                            await LogError($"Erro ao confirmar o email para o usuario: '{usuario.Email}': Erro: {error.Description}", "ConfirmarEmail", EnumTipoLog.ErroInterno);

                            ModelState.AddModelError(error.Code, $"Erro ao confirmar o email para o usuario: '{usuario.Email}': Erro: {error.Description}");
                        }
                    }
                    return(RedirectToAction("Index", "Account"));
                }
            }
            catch (Exception ex)
            {
                await LogError(ex.Message, ex.Source, EnumTipoLog.RegistroDeUsuario);

                ModelState.AddModelError("Falha", $"Erro ao confirmar o email para o usuario: '{usuario.ToString()}'");
                return(RedirectToAction("Index", "Account"));
            }
        }
 private async Task RegistrarDownloadDeDadosPessoais(UsuarioADE usuario) => await SalvarLog($"Usuario '{usuario.ToString()}' Requisitou download dos dados pessoais.", "DadosPessoais", Dominio.Models.Enums.EnumTipoLog.DownloadDadosPessoais, Dominio.Models.Enums.TipoEvento.Download, usuario);
Пример #10
0
        public async Task LogGeracaoDocumento(Documento documento, UsuarioADE usuario)
        {
            HistoricoGeracaoDocumento saveDoc = new HistoricoGeracaoDocumento($"Documento {documento.ToString()} criado pelo Usuario {usuario.ToString()}", documento.Identificador, usuario.Id)
            {
                Identificador = await RecuperarCodigoHistoricoGeracaoDocumento()
            };

            await LogAcao(usuario, saveDoc, "LogGeracaoDocumento", EnumTipoLog.CriacaoArquivo, TipoEvento.Criacao);

            await unitOfWork.RepositorioBase <HistoricoGeracaoDocumento>().Criar(saveDoc);
        }
        public async Task <IActionResult> Exportar()
        {
            UsuarioADE usuario = await ObterUsuarioLogado();

            try
            {
                Documento tabela = new Documento();
                tabela.IdCursoNavigation = await _cursoServices.BuscarPorId(usuario.IdCurso);

                tabela.IdCursoNavigation.Instituicao = await _servicoInstituicao.BuscarPorId(tabela.IdCursoNavigation.IdInstituicao);

                RequisitosBasicosCabecalho requisitosFicha = await ObterRequisitosBasicosUsuario(usuario);

                ArquivoDownload Arquivo = await servicoRegistroDeHoras.GerarTabelaHistorico(usuario, tabela, requisitosFicha);

                //await _atividadeEstagioServices.VerificarTarefasEConcluir(usuario, EnumEntidadesSistema., tabela.Identificador, EnumTipoAtividadeEstagio.DownloadOuImpressao, 1);
                return(File(Arquivo.Bytes, Arquivo.TipoArquivo, $"Tabela de Registro de Horas - {usuario.ToString()}.docx"));
            }
            catch (Exception ex)
            {
                System.Threading.Thread.Sleep(3000);
                await LogError($"{ex.Message}", "RegistroHoras", EnumTipoLog.ImpressaoArquivo);
            }
            ViewBag.Retorno = "É necessário ao menos um registro para realizar a exportação do histórico.";
            ModelState.AddModelError("Falha", ViewBag.Retorno);
            return(View("Index"));
        }
Пример #12
0
        public async Task <IActionResult> AtualizarPerfil(string NomeUsuario, string EmailUsuario)
        {
            try
            {
                UsuarioADE usuario = await ObterUsuarioLogado();

                if (!ValidarEmail(EmailUsuario))
                {
                    throw new Exception("E-mail inválido ao alterar informações pessoais.");
                }
                string AlteracaoEmail    = usuario.Email != EmailUsuario ? $"Confirme o seu novo e-mail! <br> Email alterado para {EmailUsuario}" : string.Empty;
                string AlteracaoUserName = usuario.UserName != NomeUsuario ? $"Nome de exibição alterado para {NomeUsuario}" : string.Empty;
                if (usuario.UserName != NomeUsuario)
                {
                    usuario.UserName = NomeUsuario;
                    await AtualizarUsuario(usuario);

                    NotificacaoIndividual notificacao = new NotificacaoIndividual(usuario.Id, usuario.Id, "Nome alterado com sucesso!", AlteracaoUserName);
                    await CriarNotificacaoIndividual(usuario, notificacao);
                }
                if (ValidarEmail(EmailUsuario))
                {
                    if (usuario.Email != EmailUsuario)
                    {
                        usuario.Email          = EmailUsuario;
                        usuario.EmailConfirmed = false;
                        await AtualizarUsuario(usuario);

                        NotificacaoIndividual notificacao = new NotificacaoIndividual(usuario.Id, usuario.Id, "Tudo pronto, só falta confirmar o seu novo e-mail", AlteracaoEmail);
                        await CriarNotificacaoIndividual(usuario, notificacao);

                        await EnviarEmailDeConfirmacaoDeRegistro(EmailUsuario);
                    }
                }
                else
                {
                    await LogError($"E-mail inválido utilizado ao alterar o perfil - usuario {usuario.ToString()}", "AlterarPerfil", EnumTipoLog.AlteracaoEmailUsuario);

                    ViewBag.RetornoEnvioEmail = "Erro alterar o e-mail do usuário, e-mail inválido";
                    ModelState.AddModelError("Falha", "Erro alterar o e-mail do usuário, e-mail inválido");
                    RedirectToPage("/Acesso/Account/Manage");
                }
                ViewBag.Retorno = $"{AlteracaoUserName} <hr> {AlteracaoEmail}";

                await RefreshSignIn(usuario);
            }
            catch (Exception ex)
            {
                await LogError(ex.Message, ex.Source, EnumTipoLog.AlteracaoNomeUsuario);

                ViewBag.RetornoEnvioEmail = "Erro ao alterar informações do usuário";
                ModelState.AddModelError("Falha", "Erro ao alterar informações do usuário");
            }
            return(RedirectToPage("/Acesso/Account/Manage"));
        }
Пример #13
0
        public async override Task LogCadastramento(UsuarioADE usuario, Logins login)
        {
            string Mensagem = $"{usuario.ToString()} realizou LOGIN no sistema";

            await LogAcao(usuario, Mensagem, "ServicoLogins", EnumTipoLog.Login, TipoEvento.Criacao);
        }