public IActionResult UpsertUser([FromRoute] Guid userId, [FromBody] PutUserDto user) { if (userId == Guid.Empty || user == null) { return(BadRequest()); } var userEntity = mapper.Map(user, new UserEntity(userId)); userRepository.UpdateOrInsert(userEntity, out var isInserted); if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } if (isInserted) { return(CreatedAtRoute( nameof(GetUserById), new { userId = userEntity.Id }, userEntity.Id )); } return(NoContent()); }
public async Task <IActionResult> UpdateUser(PutUserDto putUserDto) { APIResponse <User> response = new APIResponse <User>(); try { var ObjFromDb = _unitOfWork.User.GetFirstOrDefault(i => i.Email == putUserDto.Email); if (ObjFromDb == null) { response.Message = "Email ID does not exist"; response.Success = false; return(BadRequest(response)); } ObjFromDb.PhoneNumber = putUserDto.PhoneNumber; ObjFromDb.Address = putUserDto.Address; ObjFromDb.DateOfBirth = putUserDto.DateOfBirth; ObjFromDb.Name = putUserDto.Name; _unitOfWork.User.Update(ObjFromDb); _unitOfWork.Save(); response.Message = "User successfully updated"; response.Data = _unitOfWork.User.GetFirstOrDefault(c => c.Email.ToLower().Equals(putUserDto.Email.ToLower())); return(Ok(response)); } catch (Exception ex) { response.Message = ex.Message; response.Success = false; return(BadRequest(response)); } }
public async Task <IActionResult> Put([FromRoute(Name = "userId")] int userId, [FromBody] PutUserDto putUserDto) { try { if (GetUserId() != userId && GetUserRole() != Roles.Administrator) { return(Forbid()); } var serviceResult = await _userservice.UpdateUser(userId, putUserDto.Name, putUserDto.Password, putUserDto.UserTypeId); if (!serviceResult.Success) { return(BadRequest(serviceResult.ValidationMessages)); } var result = _mapper.Map <UserDto>(serviceResult.Result); return(Ok(result)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }