Example #1
0
        public async Task<IActionResult> GetAsync(int id)
        {
            var post = await _service.GetPostByIdAsync(id);
            if (post == null)
            {
                return NotFound();

            }

            var postItem = _mapper.Map<PostViewModel>(post);

            // Note I always make person table that have basic data to retrieve to end user instead of return all users data but i don't have time to do right now

            return Ok(ResponseResult.SuccessWithData(postItem));
        }
        public async Task <IActionResult> LoginAsync(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Ok(ResponseResult.Faild("ValidationError")));
            }

            // Authenticating Identity User
            var user = await _service.Login(model.Username, model.Password);

            if (user == null)
            {
                return(Ok(ResponseResult.Faild("Username or Password is Incorrect")));
            }

            // Generating Token and Response model

            var token = _service.GenerateToken(user.Id);

            var result = LoginResponse.SetData(user.FirstName + " " + user.LastName, token);

            return(Ok(ResponseResult.SuccessWithData(result)));
        }
Example #3
0
 public async Task<IActionResult> GetAsync()
 {
     var posts = await _service.GetPostsAsync();
     var postList = _mapper.Map<List<PostViewModel>>(posts);
     return Ok(ResponseResult.SuccessWithData(postList));
 }