public bool Validate(LogInInfoDto request) { if (!_context.Users.Any(x => x.Email == request.Email && x.Password == Functions.CreateSha256Hash(request.Password))) { throw new EntityNotFoundException(); } return(true); }
public IActionResult Authenticate([FromForm] LogInInfoDto dto) { try { var user = _authUser.Execute(dto); return(Ok(user)); } catch (EntityNotFoundException) { return(NotFound("Invalid login info")); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public GetUserBasicDto Execute(LogInInfoDto request) { if (Validate(request)) { var user = _context.Users .Include(u => u.Role) .AsQueryable() .Where(u => u.Email == request.Email) .Where(u => u.Password == Functions.CreateSha256Hash(request.Password)) .First(); return(new GetUserBasicDto { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, RoleName = user.Role.Name }); } else { return(null); } }