/// <summary> /// Generates a default search based on the manifest. /// </summary> /// <param name="searchManifest">The search manifest.</param> /// <returns></returns> public static Search FromManifest(SearchManifest searchManifest) { if (searchManifest == null) { throw new ArgumentNullException("searchManifest"); } var s = new Search(); s.Type = searchManifest.SearchType; s.Context = searchManifest.SearchContext; if (searchManifest.DefaultSelectedFields != null) { foreach (var f in searchManifest.DefaultSelectedFields) { s.OutputColumns.Add(f.Clone()); } } if (searchManifest.DefaultSortFieds != null) { foreach (var sf in searchManifest.DefaultSortFieds) { s.SortColumns.Add(sf.Clone()); } } return(s); }
/// <summary> /// Initializes the target object for the page /// </summary> /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing /// an event, the target object is an event. When looking up a directory, that's the target /// object. This method is intended to be overriden to initialize the target object for /// each page that needs it.</remarks> protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetManifest = buildSearchManifest(); if (targetManifest == null || string.IsNullOrWhiteSpace(ContextID)) { GoToMissingRecordPage(); return; } }
/// <summary> /// Initializes the target object for the page /// </summary> /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing /// an event, the target object is an event. When looking up a directory, that's the target /// object. This method is intended to be overriden to initialize the target object for /// each page that needs it.</remarks> protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetSection = LoadObjectFromAPI <msSection>(ContextID); if (targetSection == null) { GoToMissingRecordPage(); return; } targetSectionLeader = targetSection.Leaders.Find(x => x.Individual == CurrentEntity.ID); if (targetSectionLeader == null) { GoToMissingRecordPage(); return; } targetMembershipOrganization = LoadObjectFromAPI <msMembershipOrganization>(targetSection.MembershipOrganization); if (targetMembershipOrganization == null) { GoToMissingRecordPage(); return; } targetSearchManifest = MultiStepWizards.ViewSectionMembers.SearchManifest; if (targetSearchManifest == null || targetSearchManifest.DefaultSelectedFields.Count == 0) { targetSearchManifest = buildSearchManifest(); MultiStepWizards.ViewSectionMembers.SearchManifest = targetSearchManifest; } using (IConciergeAPIService proxy = GetConciegeAPIProxy()) { List <string> availableFields = defaultFieldFullPaths; //If the Membership Organization has defined criteria fields available to leaders use them but prefix with "Membership." because the settings are based on the Membership search //while this is a section membership search if (targetMembershipOrganization.LeaderSearchFields != null) { availableFields = (from field in targetMembershipOrganization.LeaderSearchFields select "Membership." + field).ToList(); } targetCriteriaFields = proxy.GetSearchFieldMetadataFromFullPath(msSectionMembership.CLASS_NAME, null, availableFields).ResultValue; } }
/// <summary> /// Initializes the target object for the page /// </summary> /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing /// an event, the target object is an event. When looking up a directory, that's the target /// object. This method is intended to be overriden to initialize the target object for /// each page that needs it.</remarks> protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetOrganizationalLayer = LoadObjectFromAPI <msOrganizationalLayer>(ContextID); if (targetOrganizationalLayer == null) { GoToMissingRecordPage(); return; } targetMembershipOrganization = LoadObjectFromAPI <msMembershipOrganization>(targetOrganizationalLayer.MembershipOrganization); if (targetMembershipOrganization == null) { GoToMissingRecordPage(); return; } targetSearchManifest = MultiStepWizards.ViewOrganizationalLayerMembers.SearchManifest; if (targetSearchManifest == null || targetSearchManifest.DefaultSelectedFields.Count == 0) { targetSearchManifest = buildSearchManifest(); MultiStepWizards.ViewOrganizationalLayerMembers.SearchManifest = targetSearchManifest; } using (IConciergeAPIService proxy = GetConciegeAPIProxy()) { List <string> availableFields = defaultFieldFullPaths; //If the Membership Organization has defined criteria fields available to leaders use them but prefix with "Membership." because the settings are based on the Membership search //while this is a chapter membership search if (targetMembershipOrganization.LeaderSearchFields != null) { availableFields = (from field in targetMembershipOrganization.LeaderSearchFields select "Membership." + field).ToList(); } targetCriteriaFields = proxy.GetSearchFieldMetadataFromFullPath(msChapterMembership.CLASS_NAME, null, availableFields).ResultValue; } drTargetOrganizationalLayerType = PortalConfiguration.OrganizationalLayerTypes.Rows.Find(targetOrganizationalLayer.Type); //Has to be in the InitializeTargetObject to have the leader before running the CheckSecurity loadDataFromConcierge(); }