public IntegrationProvider GetByGroupId(int groupId) { var provider = Collection.FirstOrDefault(c => c.TEGroupId == groupId); if (provider == null) { var mappedGroups = Collection.Select(c => c.TEGroupId).ToList(); var group = TEHelper.GetGroupById(groupId); var relativeUrl = new StringBuilder(); while (group.Id.HasValue && group.ParentGroupId >= 0 && !mappedGroups.Contains(group.Id.Value)) { relativeUrl.Insert(0, string.Format("{0}/", group.Key)); group = TEHelper.GetGroupById(group.ParentGroupId); } provider = Collection.FirstOrDefault(c => c.TEGroupId == group.Id); if (provider != null) { provider.TEGroupId = groupId; provider.SPSiteURL = string.Format("{0}/{1}", provider.SPSiteURL.TrimEnd('/'), relativeUrl); provider.Initialize(); return(provider); } } return(provider); }
public void Initialize() { try { var web = SPSite.OpenWeb(SPSiteURL, Authentication); SPSiteName = web.Title; SPWebID = web.WebId; SPSiteID = web.SiteId; } catch (Exception ex) { EventLogs.Warn(String.Format(IntegrationManagerLoadError, ex.GetType().Name, ex.Message), "Integration Manager", 468626, CSContext.Current.SettingsID); } TEGroupName = TEHelper.GetGroupName(TEGroupId); }