/// <summary> /// Check if exist user with this login /// </summary> /// <param name="email">user's login</param> /// <returns>is exist</returns> public async Task <bool> IsUserExist(string email) { Logins existed = await Logins.FirstOrDefaultAsync(e => e.Login == email); if (existed == null) { return(false); } return(true); }
/// <summary> /// Get register key /// </summary> /// <param name="email">users email</param> /// <returns>key</returns> public async Task <string> GetRegisterKey(string email) { Logins user = await Logins.FirstOrDefaultAsync(l => l.Login == email); if (user != null) { return(user.RegisterKey); } return(null); }
/// <summary> /// Get email by user role /// </summary> /// <param name="role">role</param> /// <returns>email</returns> public async Task <string> GetEmail(Roles role) { Logins user = await Logins.FirstOrDefaultAsync(l => l.RoleId == role.Id); if (user != null) { return(user.Login); } return(null); }
/// <summary> /// Find user by login /// </summary> /// <param name="login">credential's login</param> /// <returns>user's id</returns> public async Task <int> FindByLogin(string login) { Logins existed = await Logins.FirstOrDefaultAsync(x => x.Login == login); if (existed == null) { return(0); } return(existed.Id); }
/// <summary> /// Confirm email if link was clicked /// </summary> /// <param name="userId"> user id</param> /// <param name="token">register key</param> /// <returns>true/false</returns> public async Task <bool> Confirm(int userId, string token) { Logins user = await Logins.FirstOrDefaultAsync(l => l.Id == userId); if (user != null && user.RegisterKey == token) { user.Status = "Confirmed"; await SaveChangesAsync(); return(true); } return(false); }
/// <summary> /// Check is email confirmed /// </summary> /// <param name="email">users email</param> /// <returns>true/false</returns> public async Task <bool> IsConfirmed(string email) { Logins user = await Logins.FirstOrDefaultAsync(l => l.Login == email); if (user != null) { if (user.Status.ToLower() == "confirmed") { return(true); } else { return(false); } } return(false); }
/// <summary> /// Check is usuer already in system /// </summary> /// <param name="email">users email</param> /// <returns>token if authorized</returns> public async Task <string> IsAuthorized(string email) { Logins user = await Logins.FirstOrDefaultAsync(l => l.Login == email); if (user != null) { Sessions current = await Sessions.LastOrDefaultAsync(s => s.UserId == user.Id); if (current != null && current.ExpiredDate > DateTime.Now) { return(current.Token); } return(null); } else { return(null); } }