IEnumerable <object> GetFromCache(ConcurrentDictionary <string, EntitiesCache> entities, IEntityInfo info, ICollection <IDataCriterion> criteria, string identityString, TimeSpan timeout) { EntitiesCache cache; if (!entities.TryGetValue(identityString, out cache) || (DateTime.UtcNow - cache.QueriedTime) > timeout) { cache = new EntitiesCache { /*Entities = base.Read(info, criteria).ToArray(),*/ QueriedTime = DateTime.UtcNow }; if (!entities.TryAdd(identityString, cache)) { cache = entities[identityString]; } } if (cache.Entities == null) { lock (cache) { if (cache.Entities == null) { cache.Entities = base.Read(info, criteria).ToArray(); } } } return(cache.Entities); }
void OnGUI() { if (CachedSelection != CurrentSelection) { RefreshEditor(); CachedSelection = CurrentSelection; } CurrentSelection = EditorGUILayout.Popup("Entity", CurrentSelection, EntitiesCache.Select(c => c.Name).ToArray()); ResourcesFolder = EditorGUILayout.TextField("Resources folder", ResourcesFolder); EntityName = EditorGUILayout.TextField("Entity Name", EntityName); EditorCache.OnInspectorGUI(); var save = GUILayout.Button("Create entity"); if (save) { SaveButton(); } }
public ContestDatastore() : base(new SqliteDbEngine(ConfigurationManager.AppSettings["DatabasePath"], ""), new SqliteFactory()) { AddType <Domain.Games.Contest>(); AddType <GameSetting>(); AddType <Address>(); AddType <PhysicalSetting>(); AddType <EliminationStepSetting>(); AddType <QualificationStepSetting>(); AddType <MatchSetting>(); AddType <Team>(); AddType <Match>(); AddType <Person>(); AddType <Phase>(); AddType <EliminationStep>(); AddType <QualificationStep>(); AddType <Field>(); AddType <TeamGameStepRelationship>(); AddType <TeamPhaseRelationship>(); AddType <TeamPersonRelationship>(); Cache = new EntitiesCache(); }
internal FavoritesBatchActions(Favorites favorites, EntitiesCache<DbFavorite> cache, DataDispatcher dispatcher) { this.favorites = favorites; this.cache = cache; this.dispatcher = dispatcher; }
internal Groups() { this.cache = new EntitiesCache<DbGroup>(); }
public void SetUp() { Cache = new EntitiesCache(); }