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