示例#1
0
        public static MvcHtmlString BackToLink(this HtmlHelper htmlHelper, CandidatesNavigation navigation, object htmlAttributes)
        {
            if (navigation is SuggestedCandidatesNavigation)
            {
                return(htmlHelper.NavigationLink("Back to suggested candidates", navigation, htmlAttributes));
            }

            if (navigation is ManageCandidatesNavigation)
            {
                return(htmlHelper.NavigationLink("Back to manage candidates", navigation, htmlAttributes));
            }

            if (navigation is BrowseCandidatesNavigation)
            {
                return(htmlHelper.NavigationLink("Back to browse candidates", navigation, htmlAttributes));
            }

            if (navigation is MemberSearchNavigation)
            {
                return(htmlHelper.NavigationLink("Back to search results", navigation, htmlAttributes));
            }

            if (navigation is FolderNavigation)
            {
                return(htmlHelper.NavigationLink("Back to folder", navigation, htmlAttributes));
            }

            if (navigation is FlagListNavigation)
            {
                return(htmlHelper.NavigationLink("Back to folder", navigation, htmlAttributes));
            }

            if (navigation is BlockListNavigation)
            {
                return(htmlHelper.NavigationLink("Back to block list", navigation, htmlAttributes));
            }

            return(null);
        }
示例#2
0
        public static MvcHtmlString NavigationLink(this HtmlHelper helper, string linkText, CandidatesNavigation navigation, object htmlAttributes)
        {
            if (navigation is SuggestedCandidatesNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["jobAdId"] = ((SuggestedCandidatesNavigation)navigation).JobAdId;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink(linkText, JobAdsRoutes.SuggestedCandidates, routeValues, new RouteValueDictionary(htmlAttributes)));
            }

            if (navigation is ManageCandidatesNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["jobAdId"] = ((ManageCandidatesNavigation)navigation).JobAdId;
                routeValues["status"]  = ((ManageCandidatesNavigation)navigation).ApplicantStatus;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink(linkText, JobAdsRoutes.ManageJobAdCandidates, routeValues, new RouteValueDictionary(htmlAttributes)));
            }

            if (navigation is BrowseCandidatesNavigation)
            {
                var browseNavigation = (BrowseCandidatesNavigation)navigation;
                if (navigation.Pagination == null || navigation.Pagination.Page == null)
                {
                    return(helper.CandidatesRouteLink(linkText, browseNavigation.Location, browseNavigation.SalaryBand, null, null));
                }

                return(helper.CandidatesRouteLink(linkText, browseNavigation.Location, browseNavigation.SalaryBand, navigation.Pagination.Page.Value, null));
            }

            if (navigation is MemberSearchNavigation)
            {
                return(helper.RouteRefLink(linkText, SearchRoutes.Results, null, htmlAttributes));
            }

            if (navigation is FolderNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["folderId"] = ((FolderNavigation)navigation).FolderId;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink(linkText, CandidatesRoutes.Folder, routeValues, new RouteValueDictionary(htmlAttributes)));
            }

            if (navigation is FlagListNavigation)
            {
                var routeValues = new RouteValueDictionary();
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink(linkText, CandidatesRoutes.FlagList, routeValues, new RouteValueDictionary(htmlAttributes)));
            }

            if (navigation is BlockListNavigation)
            {
                var routeValues = new RouteValueDictionary();
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                var blockListType = ((BlockListNavigation)navigation).BlockListType;
                var route         = blockListType == BlockListType.Temporary
                    ? CandidatesRoutes.TemporaryBlockList
                    : CandidatesRoutes.PermanentBlockList;
                return(helper.RouteRefLink(linkText, route, routeValues, new RouteValueDictionary(htmlAttributes)));
            }

            return(null);
        }
示例#3
0
        public static MvcHtmlString BreadcrumbLink(this HtmlHelper helper, CandidatesNavigation navigation)
        {
            if (navigation is SuggestedCandidatesNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["jobAdId"] = ((SuggestedCandidatesNavigation)navigation).JobAdId;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink("Suggested candidates", JobAdsRoutes.SuggestedCandidates, routeValues));
            }

            if (navigation is ManageCandidatesNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["jobAdId"] = ((ManageCandidatesNavigation)navigation).JobAdId;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink("Manage candidates", JobAdsRoutes.PartialManageJobAdCandidates, routeValues));
            }

            if (navigation is BrowseCandidatesNavigation)
            {
                var browseNavigation = (BrowseCandidatesNavigation)navigation;
                if (navigation.Pagination == null || navigation.Pagination.Page == null)
                {
                    return(helper.CandidatesRouteLink("Browse candidates", browseNavigation.Location,
                                                      browseNavigation.SalaryBand, null, null));
                }

                return(helper.CandidatesRouteLink("Browse candidates", browseNavigation.Location,
                                                  browseNavigation.SalaryBand, navigation.Pagination.Page.Value, null));
            }

            if (navigation is MemberSearchNavigation)
            {
                return(helper.RouteRefLink("Search results", SearchRoutes.Results, null));
            }

            if (navigation is FolderNavigation)
            {
                var routeValues = new RouteValueDictionary();
                routeValues["folderId"] = ((FolderNavigation)navigation).FolderId;
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink("Folder", CandidatesRoutes.Folder, routeValues));
            }

            if (navigation is FlagListNavigation)
            {
                var routeValues = new RouteValueDictionary();
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                return(helper.RouteRefLink("Flagged candidates", CandidatesRoutes.FlagList, routeValues));
            }

            if (navigation is BlockListNavigation)
            {
                var routeValues = new RouteValueDictionary();
                if (navigation.Pagination != null && navigation.Pagination.Page != null)
                {
                    routeValues["Page"] = navigation.Pagination.Page.Value;
                }
                if (navigation.Pagination != null && navigation.Pagination.Items != null)
                {
                    routeValues["Items"] = navigation.Pagination.Items.Value;
                }

                var blockListType = ((BlockListNavigation)navigation).BlockListType;
                var routeName     = blockListType == BlockListType.Temporary
                    ? CandidatesRoutes.TemporaryBlockList
                    : CandidatesRoutes.PermanentBlockList;
                return(helper.RouteRefLink("Block list", routeName, routeValues));
            }

            return(null);
        }