public async Task <UserViewModel> ResetField(UserResetFieldRequest request) { User user = await userRepository.GetByIdAsync(ObjectId.Parse(request.UserId)); if (user != null) { foreach (string item in request.FieldId) { FilterDefinitionBuilder <ObjectLevel> finder = Builders <ObjectLevel> .Filter; FilterDefinition <ObjectLevel> filter = finder.Eq("field_id", item) & finder.Eq("object_id", user.OId); ObjectLevel objectLevel = await objectLevelRepository.FindAsync(filter); if (objectLevel != null) { objectLevel.LevelId = Constants.LevelConstants.LEVEL_0_ID; objectLevel.Point = 0; objectLevel.ModifiedDate = DateTime.Now; await objectLevelRepository.UpdateAsync(objectLevel, objectLevel.Id); } } return(mapper.Map <UserViewModel>(user)); } else { throw new Exception("Không tìm thấy user. "); } }
public async Task <IActionResult> ResetFieldOfUser(UserResetFieldRequest request) { var data = await levelService.ResetField(request); return(Ok(new ApiOkResponse(data))); }