private void AssertFriend(Member friend, ICandidate candidate, IResume resume) { AssertPageContains(friend.FullName); var viewer = new PersonalView(friend, PersonalContactDegree.FirstDegree, PersonalContactDegree.FirstDegree); // Current Jobs. if (viewer.CanAccess(PersonalVisibility.CurrentJobs)) { AssertPageContains(resume.GetCurrentJobsDisplayHtml()); } else { AssertPageDoesNotContain(resume.GetCurrentJobsDisplayHtml()); } // Candidate Status. if (viewer.CanAccess(PersonalVisibility.CandidateStatus)) { if (candidate.Status != CandidateStatus.Unspecified) { AssertPageContains(NetworkerFacade.GetCandidateStatusText(candidate.Status)); } } else { if (candidate.Status != CandidateStatus.Unspecified) { AssertPageDoesNotContain(NetworkerFacade.GetCandidateStatusText(candidate.Status)); } } // Suburb. if (viewer.CanAccess(PersonalVisibility.Suburb)) { AssertPageContains(friend.Address.Location.Suburb); AssertPageContains(" " + friend.Address.Location.Postcode); } else { AssertPageDoesNotContain(friend.Address.Location.Suburb); AssertPageDoesNotContain(" " + friend.Address.Location.Postcode); // GUIDs can contain "3143", too! } // CountrySubdivision. if (viewer.CanAccess(PersonalVisibility.CountrySubdivision)) { AssertPageContains(friend.Address.Location.CountrySubdivision.ShortName); } else { AssertPageDoesNotContain(friend.Address.Location.CountrySubdivision.ShortName); } }
protected override void OnInit(EventArgs e) { base.OnInit(e); rdoAvailable.Text = NetworkerFacade.GetCandidateStatusText(CandidateStatus.AvailableNow); rdoActive.Text = NetworkerFacade.GetCandidateStatusText(CandidateStatus.ActivelyLooking); rdoOpen.Text = NetworkerFacade.GetCandidateStatusText(CandidateStatus.OpenToOffers); rdoNotLooking.Text = NetworkerFacade.GetCandidateStatusText(CandidateStatus.NotLooking); }
protected string GetEthnicStatusText() { string statusText = NetworkerFacade.GetEthnicStatusText(_member, false); if (!string.IsNullOrEmpty(statusText)) { statusText = "Indigenous status indicated: " + statusText; } return(ResumeViewHelper.GetOptionalListItem(statusText)); }
private bool AssertFriendsFriend(Guid memberId, Member friendsFriend, ICandidate friendsCandidate, IResume friendsResume, bool checkAddress) { try { AssertPageContains(friendsFriend.FullName); var contactDegree = friendsFriend.Id == memberId ? PersonalContactDegree.Self : PersonalContactDegree.SecondDegree; var view = new PersonalView(friendsFriend, contactDegree, contactDegree); // Current Jobs. if (view.CanAccess(PersonalVisibility.CurrentJobs)) { var currentJobs = friendsResume.GetCurrentJobsDisplayHtml(); if (!string.IsNullOrEmpty(currentJobs)) { AssertPageContains(currentJobs); } } else { var currentJobs = friendsResume.GetCurrentJobsDisplayHtml(); if (!string.IsNullOrEmpty(currentJobs)) { AssertPageDoesNotContain(friendsResume.GetCurrentJobsDisplayHtml()); } } // Candidate Status. if (view.CanAccess(PersonalVisibility.CandidateStatus)) { if (friendsCandidate.Status != CandidateStatus.Unspecified) { AssertPageContains(NetworkerFacade.GetCandidateStatusText(friendsCandidate.Status)); } } else { if (friendsCandidate.Status != CandidateStatus.Unspecified) { AssertPageDoesNotContain(NetworkerFacade.GetCandidateStatusText(friendsCandidate.Status)); } } // Suburb. if (checkAddress) { if (view.CanAccess(PersonalVisibility.Suburb)) { AssertPageContains(friendsFriend.Address.Location.Suburb); AssertPageContains(" " + friendsFriend.Address.Location.Postcode); } else { AssertPageDoesNotContain(friendsFriend.Address.Location.Suburb); AssertPageDoesNotContain(" " + friendsFriend.Address.Location.Postcode); } // CountrySubdivision. if (view.CanAccess(PersonalVisibility.CountrySubdivision)) { AssertPageContains(friendsFriend.Address.Location.CountrySubdivision.ShortName); } else { AssertPageDoesNotContain(friendsFriend.Address.Location.CountrySubdivision.ShortName); } } return(true); } catch (AssertFailedException) { return(false); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); // Read the member ID from the query string, default to the logged in member. try { var memberId = ParseUtil.ParseUserInputGuidOptional(Request.QueryString[MemberIdParam], "member ID"); if (memberId == null) { _member = LoggedInMember; } else { _member = _membersQuery.GetMember(memberId.Value); if (_member == null) { throw new UserException("There is no member with ID " + memberId + "."); } } _candidate = _candidatesQuery.GetCandidate(_member.Id); _resume = _candidate.ResumeId == null ? null : _resumesQuery.GetResume(_candidate.ResumeId.Value); } catch (UserException ex) { AddError(ex.Message); return; } // Display the resume. bool doDisplay = false; if (_member.Id == LoggedInMember.Id) { ucPrimaryResumeDetails.DisplayMemberToSelf(_member, _candidate, false, false); ucDesiredJob.DisplayToSelf(_candidate, false); ucEmploymentSummary.DisplayExperienceToSelf(_member, _resume); ucResumeTextSections.DisplayResume(_resume, false, null, false, false); doDisplay = true; } else { var view = _memberViewsQuery.GetPersonalView(LoggedInUserId, _member); if (view.CanAccess(PersonalVisibility.Resume)) { ucPrimaryResumeDetails.DisplayMemberToOther(_member, _candidate); ucEmploymentSummary.DisplayExperienceToOtherMember(_member, _resume); ucResumeTextSections.DisplayResume(_resume, false, null, false, false); doDisplay = true; } } phContent.Visible = doDisplay; if (doDisplay) { ucProfilePhoto.DisplayPhotoReadOnly(NetworkerFacade.GetProfilePhotoUrlOrDefault(_member)); } else { AddError(ValidationErrorMessages.NO_ACCESS_TO_RESUME); } }
protected string GetJoinedText() { return(GetOptionalListItem(NetworkerFacade.GetJoinDateText(_member.CreatedTime))); }
protected string GetCandidateStatusText() { return(GetOptionalListItem(NetworkerFacade.GetCandidateStatusText(_candidate.Status))); }
public void DisplayContact(PersonalView view, Member member, Candidate candidate, Resume resume, string itemSuffix) { // Image. lnkPhoto.NavigateUrl = BuildViewProfileLink(view.Id).ToString(); imgPhoto.ImageUrl = view.GetPhotoUrlOrDefault().ToString(); // Full Name. lnkFullName.NavigateUrl = BuildViewProfileLink(view.Id).ToString(); lnkFullName.Text = AlwaysDisplayNames ? HtmlUtil.TextToHtml(((ICommunicationRecipient)view).FullName) : HtmlUtil.TextToHtml(view.GetFullNameDisplayText()); // Representative. switch (view.EffectiveContactDegree) { case PersonalContactDegree.Representative: phRepresentative.Visible = true; lblRepresentative.Text = view.EffectiveContactDegree.GetRepresentativeDescriptionText(); break; case PersonalContactDegree.Representee: phRepresentative.Visible = true; lblRepresentative.Text = view.EffectiveContactDegree.GetRepresentativeDescriptionText(); break; default: phRepresentative.Visible = false; break; } // Current Title. var currentJobsText = resume == null ? null : resume.GetCurrentJobsDisplayHtml(); if (string.IsNullOrEmpty(currentJobsText)) { phCurrentJobs.Visible = false; } else { lblCurrentJobsCaption.Text = GetCurrentJobsCaption(resume); ltlCurrentJobs.Text = currentJobsText; SetPlaceHolderVisibility(phCurrentJobs, view, PersonalVisibility.CurrentJobs); } // Candidate Status. if (candidate.Status == CandidateStatus.Unspecified) { phCandidateStatus.Visible = false; } else { ltlCandidateStatus.Text = NetworkerFacade.GetCandidateStatusText(candidate.Status); SetPlaceHolderVisibility(phCandidateStatus, view, PersonalVisibility.CandidateStatus); } // Location. var locationText = GetDisplayText(member.Address.Location, view); if (string.IsNullOrEmpty(locationText)) { phLocation.Visible = false; } else { ltlLocation.Text = locationText; phLocation.Visible = true; } // Full Profile. lnkFullProfile.NavigateUrl = BuildViewProfileLink(view.Id).ToString(); // Send Message. if (LoggedInUserId == view.Id) { phThisIsYou.Visible = true; } // View Friends. lnkViewFriends.NavigateUrl = BuildViewFriendsLink(view.Id).ToString(); SetPlaceHolderVisibility(phViewFriends, view, PersonalVisibility.FriendsList); if (!CanAccessFriends) { phViewFriends.Visible = false; } // Add To Friends. lnkAddToFriends.NavigateUrl = "javascript:populateOverlayPopup('" + GetUrlForPage <InvitationPopupContents>() + "', '" + InvitationPopupContents.InviteeIdParameter + "=" + view.Id + "');"; phAddToFriends.Visible = (view.ActualContactDegree != PersonalContactDegree.Self && view.ActualContactDegree != PersonalContactDegree.FirstDegree && view.CanAccess(PersonalVisibility.SendInvites)); if (!CanAddToFriends) { phAddToFriends.Visible = false; } // Extra details, if any. PopulateDynamicControls(phExtraDescription, view, itemSuffix); PopulateDynamicControls(phExtraActions, view, itemSuffix); }
protected string GetEthnicStatusText() { return(NetworkerFacade.GetEthnicStatusText(_member, true)); }
public AjaxResult SaveProfileDetails(string firstName, string lastName, string gender, int day, int month, string year, string countryStr, string location, int ethnicStatus, string ageControlName, string ethnicStatusControlName) { try { EnsureMemberLoggedIn(); var errors = new List <string>(); if (string.IsNullOrEmpty(firstName)) { errors.Add(ValidationErrorMessages.REQUIRED_FIELD_FIRST_NAME); } if (string.IsNullOrEmpty(lastName)) { errors.Add(ValidationErrorMessages.REQUIRED_FIELD_LAST_NAME); } PartialDate?dateOfBirth = null; if (day != 0 && month != 0 && !string.IsNullOrEmpty(year)) { try { dateOfBirth = new PartialDate(ParseUtil.ParseUserInputInt32(year, "year of birth"), month, day); } catch (ArgumentException) { errors.Add(ValidationErrorMessages.INVALID_DATE_OF_BIRTH); } catch (UserException ex) { errors.Add(ex.Message); } } else if (day != 0 || month != 0 || !string.IsNullOrEmpty(year)) { errors.Add(ValidationErrorMessages.INCOMPLETE_DATE_OF_BIRTH); } Country country = null; if (string.IsNullOrEmpty(countryStr)) { errors.Add(ValidationErrorMessages.REQUIRED_FIELD_COUNTRY); } else { country = _locationQuery.GetCountry(countryStr); if (country == null) { errors.Add(ValidationErrorMessages.INVALID_COUNTRY); } } if (string.IsNullOrEmpty(location)) { errors.Add(ValidationErrorMessages.REQUIRED_FIELD_SUBURB); } if (errors.Count > 0) { return(new AjaxResult(AjaxResultCode.FAILURE, errors.ToArray())); } var member = LoggedInMember; member.FirstName = firstName; member.LastName = lastName; member.Address.Location = _locationQuery.ResolveLocation(country, location); member.DateOfBirth = dateOfBirth; member.Gender = GetGender(member, gender); member.EthnicStatus = (EthnicStatus)ethnicStatus; _memberAccountsCommand.UpdateMember(member); _authenticationManager.UpdateUser(new HttpContextWrapper(HttpContext.Current), member, false); var ageValue = member.DateOfBirth.GetAgeDisplayText(); var ethnicStatusValue = NetworkerFacade.GetEthnicStatusText(member, true); var userData = new ElementValuesUserData( new[] { ageControlName, ethnicStatusControlName }, new[] { ageValue, ethnicStatusValue }); return(new AjaxResult(AjaxResultCode.SUCCESS, null, userData)); } catch (Exception ex) { return(HandleException(ex)); } }