コード例 #1
0
ファイル: UserController.cs プロジェクト: akshatdataman/Test
        public ActionResult <UserGetDTO> GetUserById(int userId)
        {
            User       user    = _userService.GetById(userId);
            UserGetDTO userDTO = _mapper.Map <UserGetDTO>(user);

            return(Ok(userDTO));
        }
コード例 #2
0
        public async Task <IActionResult> Register(UserPostDTO userAttemptingToRegister)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // Check if username already exists.
            User existingUser = await _db.Users.FirstOrDefaultAsync(u => u.Username == userAttemptingToRegister.Username);

            if (existingUser != null)
            {
                return(Conflict(new { message = _errorMessageUsernameExists }));
            }

            try
            {
                User newUser = UserPostDTO.ToModel(userAttemptingToRegister);

                await _db.Users.AddAsync(newUser);

                await _db.SaveChangesAsync();

                string locationUri = $"{_baseUrl}/api/v1/users/{newUser.UserId}";

                return(Created(locationUri, UserGetDTO.FromModel(newUser)));
            }
            catch (DbUpdateException)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  _errorMessageSavingData));
            }
        }
コード例 #3
0
        private async void TriggerAuthorWebhook(Event triggeringEvent, dynamic changedObject, int userId)
        {
            User userTriggeringHook = await _db.Users
                                      .Where(u => u.UserId == userId)
                                      .FirstOrDefaultAsync();

            try
            {
                await _hooks.Trigger(
                    new WebhookData {
                    Event  = triggeringEvent,
                    User   = UserGetDTO.FromModel(userTriggeringHook),
                    Object = changedObject
                });
            }
            catch (InvalidOperationException exception)
            {
                // Log that there was a bad URL.
                _logger.LogInformation(exception.Message.ToString());
            }
            catch (HttpRequestException exception)
            {
                // Log that the URL didn't accept POST request.
                _logger.LogInformation(exception.Message.ToString());
            }
        }
コード例 #4
0
 public static bool CompareUserDTOs(UserPostDTO userPost, UserGetDTO userGet)
 {
     return
         (userPost.id == userGet.id &&
          userPost.username == userGet.username &&
          userPost.email == userGet.email &&
          userPost.phone == userGet.phone &&
          userPost.website == userGet.website);
 }
コード例 #5
0
 public async Task <IActionResult> GetUsers()
 {
     try
     {
         return(Ok(await _db.Users
                   .OrderBy(u => u.Username)
                   .Select(u => UserGetDTO.FromModel(u))
                   .ToListAsync()));
     }
     catch (InvalidOperationException)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError,
                           _errorMessageFetchingData));
     }
 }
コード例 #6
0
        public void VerifyBodyOfGetRequest()
        {
            UserPostDTO userPostRequest     = new UserPostDTO();
            string      userPostRequestJson = JsonConvert.SerializeObject(userPostRequest);

            var response = HTTPrequests.ExecutePostRequest(_url, userPostRequestJson);

            string location = HTTPrequests.GetResponseHeader(HTTPrequests.ExecutePostRequest(_url, userPostRequestJson), "location");

            string body = HTTPrequests.GetResponseBody(HTTPrequests.ExecuteGetRequest(location));

            UserGetDTO userGetResponse = JsonConvert.DeserializeObject <UserGetDTO>(body);

            Assert.IsTrue(RestComparator.CompareUserDTOs(userPostRequest, userGetResponse));
        }
コード例 #7
0
        public async Task <IActionResult> GetUser(int id)
        {
            User existingUser = await _db.Users
                                .Where(u => u.UserId == id)
                                .FirstOrDefaultAsync();

            if (existingUser == null)
            {
                return(NotFound());
            }

            try
            {
                UserGetDTO userResponseDto = UserGetDTO.FromModel(existingUser);

                return(Ok(userResponseDto));
            }
            catch (InvalidOperationException)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  _errorMessageFetchingData));
            }
        }