Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
 public ResponseViewModel()
 {
     AllUsers = new UserReturnedDTO();
 }