コード例 #1
0
 /// <summary>
 /// 查询通过ID
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public IQueryable <OrganizationJson> FindById(string id)
 {
     return(OrganizationStore.Find(org => org.Id == id)
            .Include(org => org.Parent)
            .Include(org => org.Children)
            .Select(org => Mapper.Map <OrganizationJson>(org)));
 }
コード例 #2
0
        /// <summary>
        /// 创建
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public async Task Create(OrganizationJson json)
        {
            var entity = Mapper.Map <Organization>(json);

            entity.Id = Guid.NewGuid().ToString();
            await OrganizationStore.Create(entity);
        }
コード例 #3
0
        /// <summary>
        /// 递归查询所有节点,构成一棵树返回
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Organization FindTreeById(string id)
        {
            var org = OrganizationStore.Find(o => o.Id == id).Include(o => o.Children).SingleOrDefault();

            for (int i = 0; i < org.Children.Count; i++)
            {
                org.Children[i] = FindTreeById(org.Children[i].Id);
            }
            return(org);
        }
コード例 #4
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="json"></param>
 /// <returns></returns>
 public async Task Update(OrganizationJson json)
 {
     var organization = Mapper.Map <Organization>(json);
     await OrganizationStore.Update(organization);
 }
コード例 #5
0
 /// <summary>
 /// 查询通过用户ID
 /// </summary>
 /// <param name="userId">用户ID</param>
 /// <returns></returns>
 public async Task <IEnumerable <Organization> > FindFromUserOrgByUserId(string userId)
 {
     return(await OrganizationStore.FindByUserId(userId).ToListAsync());
 }
コード例 #6
0
 /// <summary>
 /// 查询所有
 /// </summary>
 /// <returns></returns>
 public IQueryable <OrganizationJson> Find()
 {
     return(OrganizationStore.Find()
            .Include(org => org.Parent)
            .Select(org => Mapper.Map <OrganizationJson>(org)));
 }
コード例 #7
0
 /// <summary>
 /// 存在
 /// </summary>
 /// <param name="predicate"></param>
 /// <returns></returns>
 public Task <bool> Exist(Func <OrganizationJson, bool> predicate)
 {
     return(OrganizationStore.Exist(org => predicate(Mapper.Map <OrganizationJson>(org))));
 }
コード例 #8
0
 /// <summary>
 /// 删除通过ID
 /// </summary>
 /// <param name="orgId">组织ID</param>
 /// <returns></returns>
 public async Task DeleteById(string orgId)
 {
     // 1. 删除组织
     await OrganizationStore.DeleteById(orgId);
 }
コード例 #9
0
        protected void BuildTestData()
        {
            CurrentUser = NeedsCurrentUser();
            user1       = AddEntity <AppDbContext, User>(new User
            {
                ExternalId = "test-auth0-id1",
                Email      = "*****@*****.**",
                Name       = "Test Testenson1",
                GivenName  = "Test1",
                FamilyName = "Testenson1"
            });
            storeType1 = AddEntity <AppDbContext, StoreType>(new StoreType
            {
                Name        = "google_play_store",
                Description = "Google Play Store"
            });
            storeType2 = AddEntity <AppDbContext, StoreType>(new StoreType
            {
                Name        = "ios_app_store",
                Description = "IOS App Store"
            });
            storeLang1 = AddEntity <AppDbContext, StoreLanguage>(new StoreLanguage
            {
                Name        = "en-US",
                Description = "US English",
                StoreTypeId = storeType1.Id
            });
            storeLang2 = AddEntity <AppDbContext, StoreLanguage>(new StoreLanguage
            {
                Name        = "en-GB",
                Description = "United Kingdom English",
                StoreTypeId = storeType1.Id
            });
            store1 = AddEntity <AppDbContext, Store>(new Store
            {
                Name        = "wycliffeusa",
                Description = "Wycliffe USA - Google Play Store",
                StoreTypeId = storeType1.Id
            });
            store2 = AddEntity <AppDbContext, Store>(new Store
            {
                Name        = "wycliffeusa",
                Description = "Wycliffe USA - IOS Play Store",
                StoreTypeId = storeType2.Id
            });
            org1 = AddEntity <AppDbContext, Organization>(new Organization
            {
                Name                      = "TestOrg1",
                WebsiteUrl                = "https://testorg1.org",
                BuildEngineUrl            = "https://buildengine.testorg1",
                BuildEngineApiAccessToken = "replace",
                OwnerId                   = CurrentUser.Id
            });
            org2 = AddEntity <AppDbContext, Organization>(new Organization
            {
                Name                      = "TestOrg2",
                WebsiteUrl                = "https://testorg2.org",
                BuildEngineUrl            = "https://buildengine.testorg2",
                BuildEngineApiAccessToken = "replace",
                OwnerId                   = CurrentUser.Id
            });
            org3 = AddEntity <AppDbContext, Organization>(new Organization
            {
                Name                      = "TestOrg3",
                WebsiteUrl                = "https://testorg3.org",
                BuildEngineUrl            = "https://buildengine.testorg3",
                BuildEngineApiAccessToken = "replace",
                OwnerId                   = CurrentUser.Id
            });
            org4 = AddEntity <AppDbContext, Organization>(new Organization
            {
                Name                      = "TestOrg4",
                WebsiteUrl                = "https://testorg4.org",
                BuildEngineUrl            = "https://buildengine.testorg1",
                BuildEngineApiAccessToken = "replace",
                OwnerId                   = CurrentUser.Id
            });
            orgStore1 = AddEntity <AppDbContext, OrganizationStore>(new OrganizationStore
            {
                OrganizationId = org4.Id,
                StoreId        = store1.Id
            });
            CurrentUserMembership = AddEntity <AppDbContext, OrganizationMembership>(new OrganizationMembership
            {
                UserId         = CurrentUser.Id,
                OrganizationId = org1.Id
            });
            CurrentUserMembership2 = AddEntity <AppDbContext, OrganizationMembership>(new OrganizationMembership
            {
                UserId         = CurrentUser.Id,
                OrganizationId = org2.Id
            });
            CurrentUserMembership3 = AddEntity <AppDbContext, OrganizationMembership>(new OrganizationMembership
            {
                UserId         = user1.Id,
                OrganizationId = org3.Id
            });
            CurrentUserMembership3 = AddEntity <AppDbContext, OrganizationMembership>(new OrganizationMembership
            {
                UserId         = CurrentUser.Id,
                OrganizationId = org4.Id
            });
            group1 = AddEntity <AppDbContext, Group>(new Group
            {
                Name         = "TestGroup1",
                Abbreviation = "TG1",
                OwnerId      = org1.Id
            });
            group2 = AddEntity <AppDbContext, Group>(new Group
            {
                Name         = "TestGroup2",
                Abbreviation = "TG2",
                OwnerId      = org1.Id
            });
            group3 = AddEntity <AppDbContext, Group>(new Group
            {
                Name         = "TestGroup3",
                Abbreviation = "TG3",
                OwnerId      = org2.Id
            });
            group4 = AddEntity <AppDbContext, Group>(new Group
            {
                Name         = "TestGroup4",
                Abbreviation = "TG4",
                OwnerId      = org3.Id
            });
            group5 = AddEntity <AppDbContext, Group>(new Group
            {
                Name         = "TestGroup5",
                Abbreviation = "TG5",
                OwnerId      = org4.Id
            });
            groupMembership1 = AddEntity <AppDbContext, GroupMembership>(new GroupMembership
            {
                UserId  = CurrentUser.Id,
                GroupId = group1.Id
            });
            groupMembership2 = AddEntity <AppDbContext, GroupMembership>(new GroupMembership
            {
                UserId  = CurrentUser.Id,
                GroupId = group5.Id
            });
            type1 = AddEntity <AppDbContext, ApplicationType>(new ApplicationType
            {
                Name        = "scriptureappbuilder",
                Description = "Scripture App Builder"
            });
            project1 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project1",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = CurrentUser.Id,
                GroupId            = group1.Id,
                OrganizationId     = org1.Id,
                Language           = "eng-US",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project2 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project2",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = CurrentUser.Id,
                GroupId            = group1.Id,
                OrganizationId     = org1.Id,
                Language           = "eng-US",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project3 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project3",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = CurrentUser.Id,
                GroupId            = group3.Id,
                OrganizationId     = org2.Id,
                Language           = "eng-US",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project4 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project4",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = user1.Id,
                GroupId            = group4.Id,
                OrganizationId     = org3.Id,
                Language           = "eng-US",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project5 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project5",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = CurrentUser.Id,
                GroupId            = group5.Id,
                OrganizationId     = org4.Id,
                Language           = "eng-US",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project6 = AddEntity <AppDbContext, Project>(new Project
            {
                Name               = "Test Project6",
                TypeId             = type1.Id,
                Description        = "Test Description",
                OwnerId            = CurrentUser.Id,
                GroupId            = group5.Id,
                OrganizationId     = org4.Id,
                Language           = "eng-GB",
                IsPublic           = true,
                WorkflowProjectUrl = "www.workflow.url"
            });
            project7 = AddEntity <AppDbContext, Project>(new Project
            {
                Name           = "Test Project7",
                TypeId         = type1.Id,
                Description    = "Test Description",
                OwnerId        = CurrentUser.Id,
                GroupId        = group1.Id,
                OrganizationId = org1.Id,
                Language       = "eng-US",
                IsPublic       = true
            });

            workflow1 = AddEntity <AppDbContext, WorkflowDefinition>(new WorkflowDefinition
            {
                Name           = "TestWorkFlow",
                Enabled        = true,
                Description    = "This is a test workflow",
                WorkflowScheme = "Don't know what this is"
            });
            workflow2 = AddEntity <AppDbContext, WorkflowDefinition>(new WorkflowDefinition
            {
                Name           = "TestWorkFlow2",
                Enabled        = true,
                Description    = "This is a test workflow",
                WorkflowScheme = "Don't know what this is",
                StoreTypeId    = storeType1.Id
            });
            productDefinition1 = AddEntity <AppDbContext, ProductDefinition>(new ProductDefinition
            {
                Name        = "TestProd1",
                TypeId      = type1.Id,
                Description = "This is a test product",
                WorkflowId  = workflow1.Id
            });
            productDefinition2 = AddEntity <AppDbContext, ProductDefinition>(new ProductDefinition
            {
                Name        = "TestProd2",
                TypeId      = type1.Id,
                Description = "This is test product 2",
                WorkflowId  = workflow1.Id
            });
            productDefinition3 = AddEntity <AppDbContext, ProductDefinition>(new ProductDefinition
            {
                Name        = "TestProd3",
                TypeId      = type1.Id,
                Description = "This is test product 3",
                WorkflowId  = workflow1.Id
            });
            productDefinition4 = AddEntity <AppDbContext, ProductDefinition>(new ProductDefinition
            {
                Name        = "TestProd4",
                TypeId      = type1.Id,
                Description = "This is a test product",
                WorkflowId  = workflow2.Id
            });

            orgProduct1 = AddEntity <AppDbContext, OrganizationProductDefinition>(new OrganizationProductDefinition
            {
                OrganizationId      = org1.Id,
                ProductDefinitionId = productDefinition1.Id
            });
            orgProduct2 = AddEntity <AppDbContext, OrganizationProductDefinition>(new OrganizationProductDefinition
            {
                OrganizationId      = org2.Id,
                ProductDefinitionId = productDefinition2.Id
            });
            orgProduct3 = AddEntity <AppDbContext, OrganizationProductDefinition>(new OrganizationProductDefinition
            {
                OrganizationId      = org3.Id,
                ProductDefinitionId = productDefinition3.Id
            });
            orgProduct4 = AddEntity <AppDbContext, OrganizationProductDefinition>(new OrganizationProductDefinition
            {
                OrganizationId      = org4.Id,
                ProductDefinitionId = productDefinition4.Id
            });
            product1 = AddEntity <AppDbContext, Product>(new Product
            {
                ProjectId           = project1.Id,
                ProductDefinitionId = productDefinition1.Id
            });
            product2 = AddEntity <AppDbContext, Product>(new Product
            {
                ProjectId           = project4.Id,
                ProductDefinitionId = productDefinition3.Id
            });
            product3 = AddEntity <AppDbContext, Product>(new Product
            {
                ProjectId           = project3.Id,
                ProductDefinitionId = productDefinition2.Id
            });
            product4 = AddEntity <AppDbContext, Product>(new Product
            {
                ProjectId           = project5.Id,
                ProductDefinitionId = productDefinition4.Id,
                StoreId             = store1.Id,
                StoreLanguageId     = storeLang1.Id
            });
        }