Esempio n. 1
0
        private static Dictionary <Guid, PermissionRuleSet> CalculatePermissionsForAllSites()
        {
            Dictionary <Guid, PermissionRuleSet> newRules = new Dictionary <Guid, PermissionRuleSet>();
            var allPermissions = new PermissionRepository().Find().Where(x => x.SecurityModel == ModelName).ToLookup(x => x.SecuredResourceId);

            var siteRepository = new SiteRepository();

            foreach (var site in siteRepository.Find())
            {
                var subDict = CalculatePermissionsForSite(site, allPermissions);
                foreach (var kvp in subDict)
                {
                    newRules.Add(kvp.Key, kvp.Value);
                }
            }

            return(newRules);
        }
Esempio n. 2
0
        public Collection GetCollectionForProcessing(XmlNode siteData)
        {
            string     siteName   = siteData["Folder"].InnerText;
            CameraSite site       = SiteRepository.Find(s => s.Name == siteName).FirstOrDefault();
            Collection collection = null;

            if (site == null)
            {
                site               = new CameraSite();
                site.Name          = siteData["Folder"].InnerText;
                site.DirectoryName = siteData["Folder"].InnerText;
                site.ContainerID   = Guid.NewGuid().ToString();
                if (siteData["Location"].Attributes["latitude"].Value != String.Empty)
                {
                    site.Latitude  = Convert.ToDouble(siteData["Location"].Attributes["latitude"].Value);
                    site.Longitude = Convert.ToDouble(siteData["Location"].Attributes["longitude"].Value);
                }

                var county = siteData["County"].InnerText;
                var state  = siteData["State"].InnerText;
                site.CountyFips = DMRepository.GetFipsForCountyAndState(county, state);

                collection = new Collection()
                {
                    ContainerID = site.ContainerID,
                    Name        = site.Name,
                    Site        = site,
                    Status      = CollectionStatus.PROCESSING,
                    Type        = CollectionType.SITE
                };

                CollectionRepository.Insert(collection);
                SiteRepository.Insert(site);
            }
            else
            {
                collection        = CollectionRepository.Find(c => c.Site.ID == site.ID).FirstOrDefault();
                collection.Status = CollectionStatus.PROCESSING;
                CollectionRepository.Update(collection);
            }

            return(collection);
        }
        public static Site GetSiteToManage()
        {
            if (HttpContext.Current == null)
            {
                return(null);
            }

            var siteRepository = new SiteRepository();
            var allSites       = siteRepository.Find();

            Guid siteId          = Guid.Empty;
            var  siteToManageRaw = HttpContext.Current.Request["siteId"];

            if (!string.IsNullOrWhiteSpace(siteToManageRaw))
            {
                siteId = new Guid(siteToManageRaw);
            }
            else if (allSites.Any())
            {
                siteId = allSites.First(x => x.IsFrontendSite).ContentId;
            }

            return(allSites.Single(x => x.ContentId == siteId));
        }