Exemple #1
0
        public WebSite GetWebSiteByUrl(IConnectionHandler connectionHandler, string authority)
        {
            var newGuid          = Guid.NewGuid();
            var encrypt          = StringUtils.Encrypt(authority.ToLower());
            var predicateBuilder = new PredicateBuilder <WebSite>();

            predicateBuilder.Or(x => x.InstallPath == encrypt);
            var homas = new WebSiteAliasBO().Select(connectionHandler, x => x.WebSiteId, x => x.Url == encrypt);

            if (homas.Any())
            {
                predicateBuilder.Or(x => x.Id.In(homas));
            }
            var webSite = this.FirstOrDefault(connectionHandler, predicateBuilder.GetExpression());

            if (webSite != null)
            {
                webSite.ConfigurationId = webSite.Id;
                if (!webSite.Enabled)
                {
                    webSite.Status = Enums.WebSiteStatus.Disabled;
                    webSite.Id     = newGuid;
                    return(webSite);
                }
                if (webSite.Configuration == null ||
                    (webSite.Configuration != null && webSite.Configuration.Id == Guid.Empty))
                {
                    webSite.Status = Enums.WebSiteStatus.NotConfiged;
                    webSite.Id     = newGuid;
                    return(webSite);
                }
                webSite.Status = Enums.WebSiteStatus.NoProblem;
                return(webSite);
            }

            webSite = new WebSite
            {
                Configuration = new Configuration(),
                Id            = newGuid,
                Status        = Enums.WebSiteStatus.NotRegistered
            };
            return(webSite);
        }