public OrganizationRepository(IMainDbContext dbContext) : base(dbContext)
 {
     _organizations = dbContext.GetCollection <Organization>();;
 }
Exemple #2
0
        /// <summary>
        /// Create index for collections
        /// </summary>
        private static void CreateIndexes(IMainDbContext dbContext)
        {
            #region Task Indexs

            dbContext.GetCollection <Task>().Indexes.CreateOneAsync(new CreateIndexModel <Task>(Builders <Task> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <Task>().Indexes.CreateOneAsync(new CreateIndexModel <Task>(Builders <Task> .IndexKeys.Ascending(x => x.CardId), new CreateIndexOptions()
            {
                Name = "CardId"
            }));


            #endregion

            #region Card Indexs

            dbContext.GetCollection <Card>().Indexes.CreateOneAsync(new CreateIndexModel <Card>(Builders <Card> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <Card>().Indexes.CreateOneAsync(new CreateIndexModel <Card>(Builders <Card> .IndexKeys.Ascending(x => x.BoardId), new CreateIndexOptions()
            {
                Name = "BoardId"
            }));


            #endregion

            #region Board Indexs

            dbContext.GetCollection <Board>().Indexes.CreateOneAsync(new CreateIndexModel <Board>(Builders <Board> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <Board>().Indexes.CreateOneAsync(new CreateIndexModel <Board>(Builders <Board> .IndexKeys.Ascending(x => x.ProjectId), new CreateIndexOptions()
            {
                Name = "ProjectId"
            }));


            #endregion

            #region Project Indexs

            dbContext.GetCollection <Project>().Indexes.CreateOneAsync(new CreateIndexModel <Project>(Builders <Project> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <Project>().Indexes.CreateOneAsync(new CreateIndexModel <Project>(Builders <Project> .IndexKeys.Ascending(x => x.OrganizationId), new CreateIndexOptions()
            {
                Name = "OrganizationId"
            }));


            #endregion

            #region Organization Indexs

            dbContext.GetCollection <Organization>().Indexes.CreateOneAsync(new CreateIndexModel <Organization>(Builders <Organization> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <Organization>().Indexes.CreateOneAsync(new CreateIndexModel <Organization>(Builders <Organization> .IndexKeys.Ascending(x => x.UserId), new CreateIndexOptions()
            {
                Name = "UserId"
            }));


            #endregion

            #region User Indexs

            dbContext.GetCollection <User>().Indexes.CreateOneAsync(new CreateIndexModel <User>(Builders <User> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));
            dbContext.GetCollection <User>().Indexes.CreateOneAsync(new CreateIndexModel <User>(Builders <User> .IndexKeys.Ascending(x => x.UserName), new CreateIndexOptions()
            {
                Name = "UserName", Unique = true
            }));
            dbContext.GetCollection <User>().Indexes.CreateOneAsync(new CreateIndexModel <User>(Builders <User> .IndexKeys.Ascending(x => x.Email), new CreateIndexOptions()
            {
                Name = "Email"
            }));
            dbContext.GetCollection <User>().Indexes.CreateOneAsync(new CreateIndexModel <User>(Builders <User> .IndexKeys.Ascending(x => x.PhoneNumber), new CreateIndexOptions()
            {
                Name = "PhoneNumber", Unique = false
            }));
            dbContext.GetCollection <User>().Indexes.CreateOneAsync(new CreateIndexModel <User>(Builders <User> .IndexKeys.Ascending(x => x.DisplayName), new CreateIndexOptions()
            {
                Name = "DisplayName"
            }));


            #endregion

            #region ApplicationRole Indexs

            dbContext.GetCollection <ApplicationRole>(name: "Roles").Indexes.CreateOneAsync(new CreateIndexModel <ApplicationRole>(Builders <ApplicationRole> .IndexKeys.Ascending(x => x.Id), new CreateIndexOptions()
            {
                Name = "Id", Unique = true
            }));

            #endregion
        }
Exemple #3
0
 public CardRepository(IMainDbContext dbContext) : base(dbContext)
 {
     _cards = dbContext.GetCollection <Card>();;
 }
Exemple #4
0
 public BaseRepository(IMainDbContext dbContext)
 {
     _collection = dbContext.GetCollection <TEntity>();;
 }
Exemple #5
0
 public ProjectRepository(IMainDbContext dbContext) : base(dbContext)
 {
     _projects = dbContext.GetCollection <Project>();;
 }