public void SortByNameTest() { // Create content. //Visibilty needs to be name and resume to allow indexing const ProfessionalVisibility visibility = ProfessionalVisibility.Name | ProfessionalVisibility.Resume; var bx = Guid.NewGuid(); var member = new Member { Id = bx, FirstName = "b", LastName = "x" }; member.VisibilitySettings.Professional.EmploymentVisibility = visibility; IndexContent(new MemberContent { Member = member, Candidate = new Candidate() }); var ax = Guid.NewGuid(); member = new Member { Id = ax, FirstName = "A", LastName = "x" }; member.VisibilitySettings.Professional.EmploymentVisibility = visibility; IndexContent(new MemberContent { Member = member, Candidate = new Candidate() }); var ay = Guid.NewGuid(); member = new Member { Id = ay, FirstName = "a", LastName = "Y" }; member.VisibilitySettings.Professional.EmploymentVisibility = visibility; IndexContent(new MemberContent { Member = member, Candidate = new Candidate() }); // Ascending order. var searchQuery = new MemberSearchQuery { SortOrder = MemberSortOrder.FirstName, ReverseSortOrder = false }; var searchResults = Search(searchQuery, 0, 10); CollectionAssert.AreEqual(new[] { ax, ay, bx }, searchResults.MemberIds.ToArray()); // Descending order. searchQuery = new MemberSearchQuery { SortOrder = MemberSortOrder.FirstName, ReverseSortOrder = true }; searchResults = Search(searchQuery, 0, 10); CollectionAssert.AreEqual(new[] { bx, ay, ax }, searchResults.MemberIds.ToArray()); }
private static NameValueCollection GetVisibilityParameters(ProfessionalVisibility visibility) { return(new NameValueCollection { { "ShowResume", visibility.IsFlagSet(ProfessionalVisibility.Resume) ? "true" : "false" }, { "ShowName", visibility.IsFlagSet(ProfessionalVisibility.Name) ? "true" : "false" }, { "ShowPhoneNumbers", visibility.IsFlagSet(ProfessionalVisibility.PhoneNumbers) ? "true" : "false" }, { "ShowProfilePhoto", visibility.IsFlagSet(ProfessionalVisibility.ProfilePhoto) ? "true" : "false" }, { "ShowRecentEmployers", visibility.IsFlagSet(ProfessionalVisibility.RecentEmployers) ? "true" : "false" }, }); }
private bool CanAccess(ProfessionalContactDegree contactDegree, ProfessionalVisibility visibility) { // Must always be able to view the resume as well as any other visibility. if (visibility == ProfessionalVisibility.Resume) { return(CanAccess(contactDegree, _member.VisibilitySettings.Professional, visibility)); } return(CanAccess(contactDegree, _member.VisibilitySettings.Professional, visibility) && CanAccess(contactDegree, _member.VisibilitySettings.Professional, ProfessionalVisibility.Resume)); }
private void LoadFormData() { // Set up the community related controls first. var affiliateId = LoggedInMember.AffiliateId; if (affiliateId != null) { var community = _communitiesQuery.GetCommunity(affiliateId.Value); if (community != null) { phCommunity.Visible = true; chkCommunity.Text = community.Name + " logo"; litCommunity.Text = community.Name; ucCommunityCandidateImage.Initialise(community.Id); } else { phCommunity.Visible = false; } } else { phCommunity.Visible = false; } ProfessionalVisibility ea = LoggedInMember.VisibilitySettings.Professional.EmploymentVisibility; bool accessResume = (ea & ProfessionalVisibility.Resume) != 0; chkAnonResume.Checked = accessResume; if (accessResume) { chkName.Checked = (ea & ProfessionalVisibility.Name) != 0; chkPhone.Checked = (ea & ProfessionalVisibility.PhoneNumbers) != 0; chkPhoto.Checked = (ea & ProfessionalVisibility.ProfilePhoto) != 0; chkRecentEmployers.Checked = (ea & ProfessionalVisibility.RecentEmployers) != 0; chkCommunity.Checked = (ea & ProfessionalVisibility.Communities) != 0; pnlRecentEmployersMessage.Style["display"] = (chkAnonResume.Checked && !chkRecentEmployers.Checked) ? "block" : "none"; } }
private CanContactStatus CanAccessUsingCredit(ProfessionalVisibility visibility) { // Must be able to not only view the specific visibility but must also: // - have effectively utilised a credit as well. // - be able to view the resume var usedCredit = false; switch (_effectiveContactDegree) { case ProfessionalContactDegree.Applicant: case ProfessionalContactDegree.Contacted: case ProfessionalContactDegree.Self: usedCredit = true; break; case ProfessionalContactDegree.NotContacted: case ProfessionalContactDegree.Public: break; } if (usedCredit && CanAccess(_effectiveContactDegree, visibility)) { return(CanContactStatus.YesWithoutCredit); } // If they are currently at Free but they have a credit to use and they can view after utilising that credit ... if (_effectiveContactDegree == ProfessionalContactDegree.NotContacted && _contactCredits != null) { if (_contactCredits.Value > 0) { return(CanAccess(ProfessionalContactDegree.Contacted, visibility) ? CanContactStatus.YesWithCredit : CanContactStatus.No); } if (_contactCredits.Value == 0) { return(CanAccess(ProfessionalContactDegree.Contacted, visibility) ? CanContactStatus.YesIfHadCredit : CanContactStatus.No); } } return(CanContactStatus.No); }
public void SaveFormData() { ProfessionalVisibility access = ProfessionalVisibility.None; if (chkAnonResume.Checked) { access = ProfessionalVisibility.Resume; if (chkName.Checked) { access |= ProfessionalVisibility.Name; } if (chkPhone.Checked) { access |= ProfessionalVisibility.PhoneNumbers; } if (chkPhoto.Checked) { access |= ProfessionalVisibility.ProfilePhoto; } if (chkRecentEmployers.Checked) { access |= ProfessionalVisibility.RecentEmployers; } if (chkCommunity.Checked) { access |= ProfessionalVisibility.Communities; } } LoggedInMember.VisibilitySettings.Professional.EmploymentVisibility = access; }
protected ReadOnlyUrl GetCandidateUrl(Guid candidateId, ProfessionalVisibility visibility, LocationReference location, Salary desiredSalary, string desiredJobTitle) { var sb = new StringBuilder(); // Location. if (!string.IsNullOrEmpty(location.ToString())) { sb.Append(TextUtil.StripExtraWhiteSpace(TextUtil.StripToAlphaNumericAndWhiteSpace(location.ToString())).ToLower().Replace(' ', '-')); } else { if (location.IsCountry) { sb.Append(location.Country.ToString().ToLower()); } else { sb.Append("-"); } } // Salary. sb.Append("/"); if (desiredSalary == null || !visibility.IsFlagSet(ProfessionalVisibility.Salary)) { sb.Append("-"); } else { desiredSalary = desiredSalary.ToRate(SalaryRate.Year); if (desiredSalary.LowerBound != null) { if (desiredSalary.UpperBound != null) { sb.Append((int)(desiredSalary.LowerBound) / 1000).Append("k-").Append((int)(desiredSalary.UpperBound) / 1000).Append("k"); } else { sb.Append((int)(desiredSalary.LowerBound) / 1000).Append("k-and-above"); } } else { sb.Append("up-to-").Append((int)(desiredSalary.UpperBound) / 1000).Append("k"); } } // Job title. sb.Append("/"); if (string.IsNullOrEmpty(desiredJobTitle)) { sb.Append("-"); } else { sb.Append(TextUtil.StripExtraWhiteSpace(TextUtil.StripToAlphaNumericAndSpace(desiredJobTitle)).ToLower().Replace(' ', '-')); } // Id sb.Append("/"); sb.Append(candidateId.ToString()); return(new ReadOnlyApplicationUrl(_baseCandidateUrl, sb.ToString())); }
private bool CanAccess(ProfessionalContactDegree contactDegree, ProfessionalVisibilitySettings visibilitySettings, ProfessionalVisibility visibility) { var contactVisibility = visibilitySettings == null ? GetPublicVisibility() : GetVisibility(contactDegree, visibilitySettings); return(contactVisibility.IsFlagSet(visibility)); }
/// <summary> /// Should be made protected some day ... /// </summary> public bool CanAccess(ProfessionalVisibility visibility) { // Check the effective contact degree against the settings. return(CanAccess(_effectiveContactDegree, visibility)); }