예제 #1
0
        public async Task <SignInResult> LogarUsuario(UsuarioADE usuario, string Password, bool RememberMe, bool log)
        {
            usuario.Logado = true;
            await _userManager.UpdateAsync(usuario);

            if (log)
            {
                _servicoLogins = new ServicoLogins(ref unitOfWork);
                Logins login = new Logins(usuario.Id, DateTime.Now);
                await _servicoLogins.CadastrarAsync(usuario, login);
            }
            return(await _signInManager.PasswordSignInAsync(usuario.UserName, Password, RememberMe, false));
        }
예제 #2
0
        public async Task <ClaimsPrincipal> LogarUsuario(UsuarioADE usuario, string NameClaim)
        {
            usuario.Logado = true;
            await _userManager.UpdateAsync(usuario);

            ClaimsPrincipal UserClaims = await _signInManager.CreateUserPrincipalAsync(usuario);

            _servicoLogins = new ServicoLogins(ref unitOfWork);
            Logins login = new Logins(usuario.Id, DateTime.Now);
            await _servicoLogins.CadastrarAsync(usuario, login);

            await _signInManager.SignInAsync(usuario, false);

            return(UserClaims);
        }
예제 #3
0
        public async Task Logout(UsuarioADE usuario)
        {
            usuario.Logado = false;
            await _userManager.UpdateAsync(usuario);

            await _signInManager.SignOutAsync();

            _servicoLogins = new ServicoLogins(ref unitOfWork);
            Logins login = _servicoLogins.BuscarUltimoLoginUsuario(usuario.Id);

            if (login != null)
            {
                login.DataHoraLogout = DateTime.Now;
                await _servicoLogins.DeslogarAsync(usuario, login);
            }
        }