Skip to content

Instantly share code, notes, and snippets.

@trnktms
Last active February 14, 2023 07:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save trnktms/ecd7cde7a5a44f0efaf9df8f9880d9a6 to your computer and use it in GitHub Desktop.
Save trnktms/ecd7cde7a5a44f0efaf9df8f9880d9a6 to your computer and use it in GitHub Desktop.
namespace Feature.EventHandlers
{
public class ClearAccessResultCache
{
private static readonly Dictionary<ID, ID> TemplatesToCheck = new Dictionary<ID, ID>()
{
{ Constants.Template1.TemplateId, Constants.Template1.Fields.Role },
{ Constants.Template2.TemplateId, Constants.Template2.Fields.Role }
};
public void OnItemSaved(object sender, EventArgs args)
{
var savedItem = Event.ExtractParameter(args, 0) as Item;
var changes = Event.ExtractParameter(args, 1) as ItemChanges;
if (savedItem == null || changes == null || !TemplatesToCheck.ContainsKey(savedItem.TemplateID))
return;
var fieldIdToCheck = TemplatesToCheck[savedItem.TemplateID];
if (!changes.IsFieldModified(fieldIdToCheck))
return;
// This is not optimal, but will do it for now
CacheManager.ClearAccessResultCache();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment