示例#1
0
        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);
        }
示例#2
0
 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));
     }
 }
示例#3
0
        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);
            }
        }