public async Task <IActionResult> Login([FromBody] LoginDTO model) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false); if (result == null) { return(Unauthorized()); } var user = await _userManager.FindByEmailAsync(model.Email); userReturned = new UserReturnedDTO { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Photo = user.Photo, DateCreated = user.DateCreated }; isLoggedIn = true; if (user == null) { return(BadRequest("Invalid Credentials")); } var token = _utility.JWTHandler(user); if (await _userManager.IsInRoleAsync(user, "Admin")) { return(Ok(new ResponsesViewModel { Message = token, IsAdmin = true, AllUsers = GetAllUser().ToList() })); } return(Ok(new ResponsesViewModel { Message = token, IsAdmin = _isAdmin, AllUsers = new List <UserReturnedDTO>() { new UserReturnedDTO { LastName = user.LastName, FirstName = user.FirstName, Email = user.Email, Photo = user.Photo, DateCreated = user.DateCreated } } })); } ModelState.AddModelError("", "Invalid Credentials"); return(Unauthorized(model)); }
public async Task <IActionResult> GetUser() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(BadRequest("User does not exist")); } // Reshape the users details to the DTO model var userReturned = new UserReturnedDTO { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Photo = user.Photo, DateCreated = user.DateCreated }; // Return to http response return(Ok(userReturned)); }
public ResponseViewModel() { AllUsers = new UserReturnedDTO(); }