Example #1
0
        /// <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);
        }
Example #2
0
    /// <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();
    }