Esempio n. 1
0
        public void DropCreateDbTest()
        {
            Database.SetInitializer <GovernanceDbContext>(new DropCreateDatabaseIfModelChanges <GovernanceDbContext>());
            var connectionString = ConfigurationManager.ConnectionStrings["default"].ConnectionString;
            var context          = new GovernanceDbContext(connectionString);
            var site             = context.Sites.FirstOrDefault();

            Debug.WriteLine(connectionString);
            Assert.Inconclusive(
                site != null ? "No changed in data model!" : "DB is empty now!");
        }
Esempio n. 2
0
        /// <summary>
        /// Go thru each site collection records from DB
        /// </summary>
        /// <param name="dbContext">The database context</param>
        /// <param name="siteList">The site collection record list</param>
        protected override void ResolveSitesFromDb(GovernanceDbContext dbContext, List <string> siteList)
        {
            int maxPage;
            int page = 1;

            do
            {
                var sites = dbContext.GetAllSites(page, PageSize, out maxPage);
                foreach (var site in sites)
                {
                    siteList.Add(site.Url);
                }
            }while (page++ < maxPage);
        }
        /// <summary>
        /// Query DB for all root web or sub web records that matches the PreprocessPredictor criteria of the the attached site policy
        /// </summary>
        /// <param name="dbContext">The db context object</param>
        /// <param name="webList">The web records list</param>
        protected override void ResolveSitesFromDb(GovernanceDbContext dbContext, List <string> webList)
        {
            int maxPage;
            int page = 1;

            do
            {
                var webs = dbContext.GetAllWebs(
                    page, PageSize, out maxPage, new[] { Policy.PreprocessPredictor });
                foreach (var web in webs)
                {
                    webList.Add(web.Url);
                }
            }while (page++ < maxPage);
        }
        public void AddOrUpdateSiteTest()
        {
            string connetionString = ConfigurationManager.ConnectionStrings["default"].ConnectionString;
            var    context         = new GovernanceDbContext(connetionString);
            string url             = "https://microsoftspoppe.sharepoint.com/teams/TestSite";
            var    existed         = context.GetSite(url);
            int    existedId       = existed == null ? 0 : existed.Id;
            var    site            = new SiteInformation()
            {
                Administrators = new List <SiteUser>()
                {
                    new SiteUser()
                    {
                        Email     = "*****@*****.**",
                        LoginName = "*****@*****.**",
                    }
                },
                AudienceScope      = "Enterprise",
                BusinessImpact     = "MBI",
                CreatedBy          = "*****@*****.**",
                CreatedDate        = DateTime.UtcNow,
                ComplianceState    = new ComplianceState(),
                Description        = "Test Save Site",
                Guid               = Guid.NewGuid(),
                Lcid               = 1099,
                LastBusinessImpact = "LBI",
                ModifiedBy         = "*****@*****.**",
                ModifiedDate       = DateTime.UtcNow,
                SharingStatus      = 0,
                SiteMetadata       = new SiteMetadata[] {
                    new SiteMetadata()
                    {
                        MetadataKey   = "TargetedAudience",
                        MetadataValue = "PM",
                    }
                },
                StorageMaximumLevel = 500,
                StorageWarningLevel = 400,
                Template            = "STS#0",
                TimeZoneId          = 13,
                Title = "Test Save Site",
                Url   = url,
            };

            context.SaveSite(site);
            Assert.AreEqual(existedId + 1, site.Id);
        }
Esempio n. 5
0
        /// <summary>
        /// Query database by union each policy's noncompliance predictor criteria
        /// </summary>
        /// <param name="dbContext">The database context object</param>
        /// <param name="siteList">The site collection record list</param>
        protected override void ResolveSitesFromDb(GovernanceDbContext dbContext, List <string> siteList)
        {
            int maxPage;
            int page = 1;

            do
            {
                var expressions = from policy in PolicyManager.GetAllGovernancePolicy()
                                  select policy.NoncompliancePredictor;
                var sites = dbContext.GetAllSites(
                    page, PageSize, out maxPage, Includes, expressions.ToArray());
                foreach (var site in sites)
                {
                    siteList.Add(site.Url);
                }
            }while (page++ < maxPage);
        }
Esempio n. 6
0
 /// <summary>
 /// Query site collection records as the sites to process for the timer job
 /// </summary>
 /// <param name="dbContext">The database context</param>
 /// <param name="siteList">The site collection record list</param>
 protected abstract void ResolveSitesFromDb(GovernanceDbContext dbContext, List <string> siteList);