Exemple #1
0
        public bool Update(IConnectionHandler connectionHandler, WebSite webSite, List <WebSiteAlias> webSiteAliases)
        {
            if (!this.Update(connectionHandler, webSite))
            {
                throw new Exception("خطا در ثبت اطلاعات");
            }
            var homaAliasBo = new WebSiteAliasBO();
            var list        = homaAliasBo.Where(connectionHandler, x => x.WebSiteId == webSite.Id);

            foreach (var homaAliase in webSiteAliases)
            {
                var homaAlias = homaAliasBo.Get(connectionHandler, homaAliase.Id);
                if (homaAlias == null)
                {
                    homaAliase.WebSiteId = webSite.Id;
                    homaAliase.WebSite   = webSite;
                    if (!homaAliasBo.Insert(connectionHandler, homaAliase))
                    {
                        throw new Exception("خطا در ثبت اطلاعات");
                    }
                }
                else
                {
                    homaAliase.WebSite = webSite;
                    if (!homaAliasBo.Update(connectionHandler, homaAliase))
                    {
                        throw new Exception("خطا در ثبت اطلاعات");
                    }
                }
            }
            foreach (var homaAliase in list)
            {
                if (webSiteAliases.Any(x => x.Id == homaAliase.Id))
                {
                    continue;
                }
                if (!homaAliasBo.Delete(connectionHandler, homaAliase.Id))
                {
                    throw new Exception("خطا در ثبت اطلاعات");
                }
            }

            return(true);
        }
Exemple #2
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);
        }
Exemple #3
0
        public bool Insert(IConnectionHandler connectionHandler,
                           WebSite webSite, List <WebSiteAlias> webSiteAliases)
        {
            if (!this.Insert(connectionHandler, webSite))
            {
                throw new Exception("خطا در ثبت اطلاعات");
            }
            var homaAliasBo = new WebSiteAliasBO();

            foreach (var homaAliase in webSiteAliases)
            {
                homaAliase.WebSiteId = webSite.Id;
                homaAliase.WebSite   = webSite;
                if (!homaAliasBo.Insert(connectionHandler, homaAliase))
                {
                    throw new Exception("خطا در ثبت اطلاعات");
                }
            }
            return(true);
        }
Exemple #4
0
        public override bool Delete(IConnectionHandler connectionHandler,
                                    params object[] keys)
        {
            var obj         = this.Get(connectionHandler, keys);
            var siteAliasBo = new WebSiteAliasBO();
            var list        = siteAliasBo.Where(connectionHandler, x => x.WebSiteId == obj.Id);

            foreach (var homaAliase in list)
            {
                if (!siteAliasBo.Delete(connectionHandler, homaAliase.Id))
                {
                    throw new Exception("خطا در حذف اطلاعات");
                }
            }
            if (!base.Delete(connectionHandler, keys))
            {
                throw new Exception("خطا در حذف اطلاعات");
            }
            return(true);
        }