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); }