public void RenameTag(RenameValues values)
        {
            VerifyAccess("You must be authenticated to rename the tag.");

            if (string.IsNullOrWhiteSpace(values.OldName))
            {
                throw new ArgumentException("The old name must be provided.", nameof(values));
            }

            if (string.IsNullOrWhiteSpace(values.NewName))
            {
                throw new ArgumentException("The new name must be provided.", nameof(values));
            }

            var name1         = "," + values.OldName + ",";
            var name2         = "," + values.NewName + ",";
            var pagesToUpdate = GetCurrentPagesQuery()
                                .Where(x => x.Tags.Contains(name1)).ToList();

            pagesToUpdate.ForEach(page => page.Tags = page.Tags.Replace(name1, name2));

            _database.SaveChanges();

            pagesToUpdate.ForEach(page => _searchService.Add(page.ToView(Converter)));
        }
Exemple #2
0
 public void RenameTag(RenameValues values)
 {
     using (var response = Post($"{_service}RenameTag", values))
     {
         ValidateResponse(response);
     }
 }
 public void RenameTag(RenameValues values)
 {
     _service.RenameTag(values);
 }