void uiSaveChanges_Click(object sender, EventArgs e) { foreach (GridViewRow row in uiResults.Rows) { int k = Convert.ToInt32(row.Cells[0].Text); Tag tag = new Tag(k); bool showInTagCloud = ((CheckBox)row.FindControl("uiShowInTagCloudCheckBox")).Checked; if (tag.ShowInTagCloud != showInTagCloud) { tag.ShowInTagCloud = showInTagCloud; tag.Update(); (new Caching.CacheKeys.NamespaceCacheKey(CacheKeyPrefix.TagCloudVersion)).Invalidate(); } bool blocked = ((CheckBox)row.FindControl("uiBlockedCheckBox")).Checked; if (tag.Blocked != blocked) { tag.SetBlockedAndUpdate(blocked); } } GetResults(); }
public void TestInsertsFireInvalidationTriggers() { Tag tag = new Tag(); tag.Update(); Photo photo = new Photo(); photo.Update(); Caching.Instances.Main.FlushAll(); string version = Guid.NewGuid().ToString(); Caching.Instances.Main.Set(Caching.CacheKeys.Tag.TagPhotos(tag.K), version); TagPhoto tagPhoto = new TagPhoto() { TagK = tag.K, PhotoK = photo.K}; Assert.AreEqual(version, Caching.Instances.Main.Get(Caching.CacheKeys.Tag.TagPhotos(tag.K))); tagPhoto.Update(); Assert.AreNotEqual(version, Caching.Instances.Main.Get(Caching.CacheKeys.Tag.TagPhotos(tag.K))); }
public void TestDeletesFireInvalidationTriggers() { Tag tag = new Tag(); tag.Update(); Photo photo2 = new Photo(); photo2.Update(); Photo photo = new Photo(); photo.Update(); Caching.Instances.Main.FlushAll(); TagPhoto tagPhoto = new TagPhoto() { TagK = tag.K, PhotoK = photo.K}; tagPhoto.Update(); string version = Caching.Instances.Main.Get(Caching.CacheKeys.Tag.TagPhotos(tag.K)) as string; tagPhoto.Delete(); Assert.AreNotEqual(version, Caching.Instances.Main.Get(Caching.CacheKeys.Tag.TagPhotos(tag.K))); }
public static Tag GetTag(string tagText) { tagText = RemoveAnyInvalidCharactersAndStuff(tagText); Query query = new Query(new Q(Tag.Columns.TagText, tagText)); TagSet tagSet = new TagSet(query); if (tagSet.Count == 1) { return tagSet[0]; } else { Tag tag = new Tag() { TagText = tagText }; tag.Update(); return tag; } }
public CachedSqlSelect<Tag> ChildTags(Q where, params KeyValuePair<object, OrderBy.OrderDirection>[] orderBy) { TagTableDef def = new TagTableDef(); TagPhotoTableDef def2 = new TagPhotoTableDef(); return new CachedSqlSelect<Tag>( new LinkedChildren<Tag> ( TablesEnum.Photo, this.K, TablesEnum.Tag, def.TableCacheKey, dr => { Tag newTag = new Tag(); newTag.Initialise(dr); return newTag; }, where, orderBy, TablesEnum.TagPhoto, def2.TableCacheKey ) ); }