Exemple #1
0
        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)));
        }