示例#1
0
 public EntityCollection(
     EntityContext context,
     string collectionName)
 {
     _context    = context;
     _collection = new DatabaseCollection <T>(collectionName, context.Options.Collections);
 }
示例#2
0
 public DataCollectionSettings(IDatabaseCollection collection)
 {
     DatabaseName     = collection.DatabaseName;
     CollectionName   = collection.CollectionName;
     LoadedItemsCount = collection.LoadedItemsCount;
     ReadFromDatabase = collection.ReadFromDatabase;
 }
 /// <summary>
 /// Gets the unattached, unpopulated <see cref="User"/> with the name <see cref="User.TgsSystemUserName"/>.
 /// </summary>
 /// <param name="databaseCollection">The <see cref="IDatabaseCollection{TModel}"/> of <see cref="User"/>s to operate on.</param>
 /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the operation.</param>
 /// <returns>A <see cref="Task{TResult}"/> resulting in the unattached TGS <see cref="User"/> on success, <see langword="null"/> on failure.</returns>
 public static Task <User> GetTgsUser(this IDatabaseCollection <User> databaseCollection, CancellationToken cancellationToken)
 => databaseCollection
 .AsQueryable()
 .Where(x => x.CanonicalName == User.CanonicalizeName(User.TgsSystemUserName))
 .Select(x => new User
 {
     Id = x.Id
 })
 .FirstAsync(cancellationToken);
示例#4
0
 /// <summary>
 /// Construct a <see cref="DatabaseContext"/>
 /// </summary>
 /// <param name="dbContextOptions">The <see cref="DbContextOptions"/> for the <see cref="DatabaseContext"/>.</param>
 public DatabaseContext(DbContextOptions dbContextOptions) : base(dbContextOptions)
 {
     usersCollection                = new DatabaseCollection <User>(Users);
     instancesCollection            = new DatabaseCollection <Instance>(Instances);
     instanceUsersCollection        = new DatabaseCollection <InstanceUser>(InstanceUsers);
     compileJobsCollection          = new DatabaseCollection <CompileJob>(CompileJobs);
     repositorySettingsCollection   = new DatabaseCollection <RepositorySettings>(RepositorySettings);
     dreamMakerSettingsCollection   = new DatabaseCollection <DreamMakerSettings>(DreamMakerSettings);
     dreamDaemonSettingsCollection  = new DatabaseCollection <DreamDaemonSettings>(DreamDaemonSettings);
     chatBotsCollection             = new DatabaseCollection <ChatBot>(ChatBots);
     chatChannelsCollection         = new DatabaseCollection <ChatChannel>(ChatChannels);
     revisionInformationsCollection = new DatabaseCollection <RevisionInformation>(RevisionInformations);
     jobsCollection = new DatabaseCollection <Job>(Jobs);
     reattachInformationsCollection = new DatabaseCollection <ReattachInformation>(ReattachInformations);
 }
 /// <summary>
 /// Construct a <see cref="DatabaseContext"/>
 /// </summary>
 /// <param name="dbContextOptions">The <see cref="DbContextOptions"/> for the <see cref="DatabaseContext"/>.</param>
 protected DatabaseContext(DbContextOptions dbContextOptions) : base(dbContextOptions)
 {
     usersCollection     = new DatabaseCollection <User>(Users);
     instancesCollection = new DatabaseCollection <Instance>(Instances);
     instancePermissionSetsCollection = new DatabaseCollection <InstancePermissionSet>(InstancePermissionSets);
     compileJobsCollection            = new DatabaseCollection <CompileJob>(CompileJobs);
     repositorySettingsCollection     = new DatabaseCollection <RepositorySettings>(RepositorySettings);
     dreamMakerSettingsCollection     = new DatabaseCollection <DreamMakerSettings>(DreamMakerSettings);
     dreamDaemonSettingsCollection    = new DatabaseCollection <DreamDaemonSettings>(DreamDaemonSettings);
     chatBotsCollection             = new DatabaseCollection <ChatBot>(ChatBots);
     chatChannelsCollection         = new DatabaseCollection <ChatChannel>(ChatChannels);
     revisionInformationsCollection = new DatabaseCollection <RevisionInformation>(RevisionInformations);
     jobsCollection = new DatabaseCollection <Job>(Jobs);
     reattachInformationsCollection = new DatabaseCollection <ReattachInformation>(ReattachInformations);
     oAuthConnections = new DatabaseCollection <OAuthConnection>(OAuthConnections);
     groups           = new DatabaseCollection <UserGroup>(Groups);
     permissionSets   = new DatabaseCollection <PermissionSet>(PermissionSets);
 }
示例#6
0
        /// <summary>
        /// Construct a <see cref="DatabaseContext"/>
        /// </summary>
        /// <param name="dbContextOptions">The <see cref="DbContextOptions"/> for the <see cref="DatabaseContext"/>.</param>
        /// <param name="databaseConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="DatabaseConfiguration"/></param>
        /// <param name="databaseSeeder">The value of <see cref="databaseSeeder"/></param>
        /// <param name="logger">The value of <see cref="Logger"/></param>
        public DatabaseContext(DbContextOptions dbContextOptions, IOptions <DatabaseConfiguration> databaseConfigurationOptions, IDatabaseSeeder databaseSeeder, ILogger logger) : base(dbContextOptions)
        {
            DatabaseConfiguration = databaseConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(databaseConfigurationOptions));
            this.databaseSeeder   = databaseSeeder ?? throw new ArgumentNullException(nameof(databaseSeeder));
            Logger = logger ?? throw new ArgumentNullException(nameof(logger));

            usersCollection                = new DatabaseCollection <User>(Users);
            instancesCollection            = new DatabaseCollection <Instance>(Instances);
            instanceUsersCollection        = new DatabaseCollection <InstanceUser>(InstanceUsers);
            compileJobsCollection          = new DatabaseCollection <CompileJob>(CompileJobs);
            repositorySettingsCollection   = new DatabaseCollection <RepositorySettings>(RepositorySettings);
            dreamMakerSettingsCollection   = new DatabaseCollection <DreamMakerSettings>(DreamMakerSettings);
            dreamDaemonSettingsCollection  = new DatabaseCollection <DreamDaemonSettings>(DreamDaemonSettings);
            chatBotsCollection             = new DatabaseCollection <ChatBot>(ChatBots);
            chatChannelsCollection         = new DatabaseCollection <ChatChannel>(ChatChannels);
            revisionInformationsCollection = new DatabaseCollection <RevisionInformation>(RevisionInformations);
            jobsCollection = new DatabaseCollection <Job>(Jobs);
            reattachInformationsCollection         = new DatabaseCollection <ReattachInformation>(ReattachInformations);
            watchdogReattachInformationsCollection = new DatabaseCollection <DualReattachInformation>(WatchdogReattachInformations);
        }
示例#7
0
 public EntityNodesCollection(IDatabaseCollection <EntityNode> collection)
     : base(collection)
 {
 }
示例#8
0
 public GodzillaCollection(IDatabaseCollection <TItem> collection)
 {
     _collection = collection;
 }
 /// <summary>
 /// 获取 ProductCenter 数据库。
 /// </summary>
 /// <param name="helper"><see cref="IDatabaseCollection"/> 实例。</param>
 /// <returns>成功返回 <see cref="DbConnection"/> 实例。</returns>
 public static DbConnection GetProductCenterManagementDatabase(this IDatabaseCollection helper)
 {
     return(helper.Get("ProductCenter"));
 }
 /// <summary>
 /// 获取 Order Management 数据库。
 /// </summary>
 /// <param name="helper"><see cref="IDatabaseCollection"/> 实例。</param>
 /// <returns>成功返回 <see cref="DbConnection"/> 实例。</returns>
 public static DbConnection GetReferenceDataDatabase(this IDatabaseCollection helper)
 {
     return(helper.Get("ReferenceData"));
 }
 public TCollection CreateCollection <TItem, TCollection>(IDatabaseCollection <TItem> collection)
     where TCollection : IGodzillaCollection <TItem>
 {
     return((TCollection)Activator.CreateInstance(typeof(TCollection), new object[] { collection }));
 }
 public GodzillaCollection <TItem> CreateCollection <TItem>(IDatabaseCollection <TItem> collection)
 {
     return(new GodzillaCollection <TItem>(collection));
 }
示例#13
0
 public SecurityRulesCollection(IDatabaseCollection <EntitySecurityRule> collection)
     : base(collection)
 {
 }