private string GetSnippet(LoadOldItemsTakeInfo info) { return(string.Format( @", {0} = item.{1}", info.GetPropertyName(), info.Path)); }
private void InjectClearCacheOnSave(List <IConceptInfo> newConcepts, string entityName, string loadOldPropertyValue, string snippetClearCache) { var commonModule = new ModuleInfo { Name = "Common" }; var entity = new EntityInfo { Module = commonModule, Name = entityName }; var usesAuthorizationDataCache = new RepositoryUsesInfo { DataStructure = entity, PropertyType = "Rhetos.Dom.DefaultConcepts.AuthorizationDataCache, Rhetos.Dom.DefaultConcepts", PropertyName = "_authorizationDataCache" }; var saveMethod = new SaveMethodInfo { Entity = entity }; newConcepts.AddRange(new IConceptInfo[] { usesAuthorizationDataCache, saveMethod }); if (loadOldPropertyValue != null) { var loadOldItems = new LoadOldItemsInfo { SaveMethod = saveMethod }; var loadOldItemsProperty = new LoadOldItemsTakeInfo { LoadOldItems = loadOldItems, Path = loadOldPropertyValue }; newConcepts.AddRange(new IConceptInfo[] { loadOldItems, loadOldItemsProperty }); } var clearCache = new OnSaveUpdateInfo { SaveMethod = saveMethod, RuleName = "ClearAuthenticationCache", CsCodeSnippet = snippetClearCache }; newConcepts.AddRange(new IConceptInfo[] { clearCache }); }