private void SetUpContactsList() { var representees = _memberContactsQuery.GetRepresenteeContacts(LoggedInMember.Id); _representeesCount = representees.Count; if (_representeesCount == 0) { phNoRepresenteesText.Visible = true; phRepresentees.Visible = false; } var name = HtmlUtil.CleanScriptEventHtmlTags(Request.QueryString[NameParameter]); ucPagingBarTop.NameStartsWith = ucPagingBarBottom.NameStartsWith = name; var ids = string.IsNullOrEmpty(name) ? representees : _memberContactsQuery.GetRepresenteeContacts(LoggedInMember.Id, name[0]); var members = _membersQuery.GetMembers(ids); var candidates = _candidatesQuery.GetCandidates(ids); var resumes = _resumesQuery.GetResumes(from c in candidates where c.ResumeId != null select c.ResumeId.Value); var views = _memberViewsQuery.GetPersonalViews(LoggedInMember.Id, members); contactsListControl.DisplayContacts(ids, views, members, candidates, resumes); if (contactsListControl.CountContacts < 1) { displayRepresentees.Visible = false; displayNoRepresentees.Visible = true; } }
private void SetViews(IEmployer employer, IEnumerable <Guid> memberIds, IEnumerable <EmployerMemberView> views) { // Get everything. var candidates = _candidatesQuery.GetCandidates(memberIds); var resumeIds = (from c in candidates where c.ResumeId != null select c.ResumeId.Value).ToList(); var resumes = _resumesQuery.GetResumes(resumeIds); var viewedMembers = GetViewedMemberIds(employer, memberIds); var flaggedCandidates = _candidateFlagListsQuery.GetFlaggedCandidateIds(employer, memberIds); var mobileCandidates = _candidateFoldersQuery.GetInMobileFolderCandidateIds(employer, memberIds); var folderedCandidates = _candidateFoldersQuery.GetFolderCounts(employer, memberIds); var noteCounts = _candidateNotesQuery.GetNoteCounts(employer, memberIds); foreach (var view in views) { var viewId = view.Id; var candidate = (from c in candidates where c.Id == viewId select c).Single(); var resume = candidate.ResumeId == null ? null : (from r in resumes where r.Id == candidate.ResumeId.Value select r).Single(); view.Set( candidate, resume, viewedMembers.Contains(viewId), flaggedCandidates.Contains(viewId), mobileCandidates.Contains(viewId), folderedCandidates.ContainsKey(viewId) ? folderedCandidates[viewId] : 0, noteCounts.ContainsKey(viewId) ? noteCounts[viewId] : 0); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); ucPagingBarTop.ResultsPerPage = ucPagingBarBottom.ResultsPerPage = ApplicationContext.Instance.GetIntProperty(ApplicationContext.FRIENDS_PER_PAGE); ucPagingBarTop.StartIndexParam = ucPagingBarBottom.StartIndexParam = ResultParameter; if (!Page.IsPostBack) { try { // Get the owner of the contacts being viewed. var memberId = ParseUtil.ParseUserInputGuid(Request.QueryString[SearchHelper.MemberIdParam], "member ID"); OwnerOfFriends = _membersQuery.GetMember(memberId); if (OwnerOfFriends == null) { throw new UserException("There is no networker with the specified ID."); } IList <Guid> friendIds = _memberContactsQuery.GetFirstDegreeContacts(OwnerOfFriends.Id); _ownersFriendCount = friendIds.Count; // Get the list of friends to display on this page that the viewer can actually see. friendIds = _memberContactsQuery.GetContacts(LoggedInUserId.Value, friendIds); friendIds = friendIds.Skip(ucPagingBarTop.StartIndex).Take(ucPagingBarTop.ResultsPerPage).ToList(); // Get the members and networker. var members = _membersQuery.GetMembers(friendIds); var candidates = _candidatesQuery.GetCandidates(friendIds); var resumes = _resumesQuery.GetResumes(from c in candidates where c.ResumeId != null select c.ResumeId.Value); var views = _memberViewsQuery.GetPersonalViews(LoggedInUserId, members); // Get the contact degree for the owner. var view = _memberViewsQuery.GetPersonalView(LoggedInUserId.Value, OwnerOfFriends); SetPageVisibility(view.EffectiveContactDegree, view.ActualContactDegree); ucPagingBarTop.InitPagesList(GetResultUrl(), _ownersFriendCount, false); ucPagingBarBottom.InitPagesList(GetResultUrl(), _ownersFriendCount, false); contactsListControl.DisplayContacts(friendIds, views, members, candidates, resumes); } catch (UserException ex) { AddError(ex.Message); } } }
private void OnSearchRequested(NameValueCollection query) { var name = query[NameQueryParameter]; var emailAddress = query[EmailQueryParameter]; txtQuery.Text = name; txtEmail.Text = emailAddress; if (!string.IsNullOrEmpty(name) || !string.IsNullOrEmpty(emailAddress)) { if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(emailAddress)) { AddError("Please enter a name or email address, not both"); return; } if (!string.IsNullOrEmpty(name)) { if (new Regex(LinkMe.Domain.RegularExpressions.DisallowedNameCharPattern).IsMatch(name)) { AddError(ValidationErrorMessages.INVALID_NAME_SEARCH_CRITERIA + " " + ValidationErrorMessages.PLEASE_TRY_AGAIN); return; } } if (!string.IsNullOrEmpty(emailAddress)) { IValidator validator = EmailAddressValidatorFactory.CreateValidator(EmailAddressValidationMode.SingleEmail, false); var errors = validator.IsValid(emailAddress) ? null : validator.GetValidationErrors("EmailAddress"); if (errors != null && errors.Length > 0) { AddError(((IErrorHandler) new StandardErrorHandler()).FormatErrorMessage(errors[0]) + " " + ValidationErrorMessages.PLEASE_TRY_AGAIN); return; } } } else { AddError(string.Format(ValidationErrorMessages.REQUIRED_FIELD_MISSING_1, "search term")); return; } var loggedInNetworkerId = LoggedInUserId.Value; var exactMatch = ParseUtil.ParseUserInputBooleanOptional(Request.QueryString[ExactMatchParameter], "exactMatch parameter", false); // Perform find by email address search. IList <Guid> resultIds; if (!string.IsNullOrEmpty(emailAddress)) { var id = _memberContactsQuery.GetContact(loggedInNetworkerId, emailAddress); resultIds = id == null ? new Guid[0] : new[] { id.Value }; } else { resultIds = _memberContactsQuery.GetContacts(loggedInNetworkerId, name, exactMatch); } InitPagingBar(resultIds.Count, name); var results = ucPagingBar.GetResultSubset(resultIds); var haveResults = (results.Count > 0); if (haveResults) { var members = _membersQuery.GetMembers(results); var candidates = _candidatesQuery.GetCandidates(results); var resumes = _resumesQuery.GetResumes(from c in candidates where c.ResumeId != null select c.ResumeId.Value); var views = _memberViewsQuery.GetPersonalViews(LoggedInUserId, members); ucResultList.DisplayContacts(results, views, members, candidates, resumes); } ucResultList.Visible = haveResults; phNoMatches.Visible = !haveResults; phResults.Visible = true; }
public void TestUnknownCandidate() { Assert.IsNull(_candidatesQuery.GetCandidate(Guid.NewGuid())); Assert.AreEqual(0, _candidatesQuery.GetCandidates(new[] { Guid.NewGuid() }).Count); }