/// <summary> /// Возвращает адаптер объектов системы. /// </summary> /// <typeparam name="TObject">Тип объекта системы.</typeparam> /// <typeparam name="TEntity">Тип сохраняемого объекта.</typeparam> /// <typeparam name="IObject">Тип интерфейса объекта.</typeparam> private SkyObjectAdapter <TObject, TEntity, IObject> GetObjectAdapter <TObject, TEntity, IObject>() where TEntity : SkyEntity where TObject : SkyObject <TObject, TEntity, IObject>, IObject where IObject : ISkyObject { SkyObjectAdapter <TObject, TEntity, IObject> adapter = null; Type type = typeof(TObject); string typeKey = type.AssemblyQualifiedName; if (!this.ObjectAdaptersByType.ContainsKey(typeKey)) { adapter = new SkyObjectAdapter <TObject, TEntity, IObject>(this.Context); this.ObjectAdaptersByType.Add(typeKey, adapter); } else { adapter = (SkyObjectAdapter <TObject, TEntity, IObject>) this.ObjectAdaptersByType[typeKey]; } if (adapter == null) { throw new Exception(string.Format("Не удалось получить адаптера объектов системы SkyObjectAdapter по ключу {0}.", typeKey)); } return(adapter); }
internal SkyObject(TEntity entity, SkyObjectAdapter <TObject, TEntity, IObject> adapter) { if (adapter == null) { throw new ArgumentNullException("adapter"); } if (entity == null) { entity = adapter.CreateEntity(); } this.Entity = entity; this.Adapter = adapter; }
internal SkyNetwork(SkyNetworkEntity entity, SkyObjectAdapter <SkyNetwork, SkyNetworkEntity, ISkyNetwork> adapter) : base(entity, adapter) { }
internal SkyTrainEpochParams(SkyTrainEpochParamsEntity entity, SkyObjectAdapter <SkyTrainEpochParams, SkyTrainEpochParamsEntity, ISkyTrainEpochParams> adapter) : base(entity, adapter) { }
internal SkyNetworkVersion(SkyNetworkVersionEntity entity, SkyObjectAdapter <SkyNetworkVersion, SkyNetworkVersionEntity, ISkyNetworkVersion> adapter) : base(entity, adapter) { }
internal SkyDataSet(SkyDataSetEntity entity, SkyObjectAdapter <SkyDataSet, SkyDataSetEntity, ISkyDataSet> adapter) : base(entity, adapter) { }
internal SkyNetworkRequest(SkyNetworkRequestEntity entity, SkyObjectAdapter <SkyNetworkRequest, SkyNetworkRequestEntity, ISkyNetworkRequest> adapter) : base(entity, adapter) { }
internal SkyTrainScheme(SkyTrainSchemeEntity entity, SkyObjectAdapter <SkyTrainScheme, SkyTrainSchemeEntity, ISkyTrainScheme> adapter) : base(entity, adapter) { }
internal SkyNetworkState(SkyNetworkStateEntity entity, SkyObjectAdapter <SkyNetworkState, SkyNetworkStateEntity, ISkyNetworkState> adapter) : base(entity, adapter) { }
internal SkyProfile(SkyProfileEntity entity, SkyObjectAdapter <SkyProfile, SkyProfileEntity, ISkyProfile> adapter) : base(entity, adapter) { }