Пример #1
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient employer)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Hi " + employer.FirstName + "</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Thank you for using LinkMe for your candidate sourcing");
            sb.AppendLine("  - our records show that you have no remaining contact credits in your account.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  To purchase more candidate contact credits for continued access to LinkMe's");
            sb.AppendLine("  resume database candidates,");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/employers/products/neworder") + "\">click here</a>.");
            sb.AppendLine("  All data associated with your account,");
            sb.AppendLine("  such as folders and saved searches, will remain available to you.");
            sb.AppendLine("  Once logged in, you can use our secure credit card transaction process");
            sb.AppendLine("  to purchase more credits.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Did you know that LinkMe offers subscriptions for unlimited access");
            sb.AppendLine("  to the resume database for larger volume users?");
            sb.AppendLine("  Call us on 1800 546 563 to find out how an annual subscription");
            sb.AppendLine("  to LinkMe may be more cost effective for your organisation.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  We look forward to seeing you on our site again soon.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient member)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>");
            sb.AppendLine("  Dear " + member.FirstName + ",");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Your work status on LinkMe has been changed from 'Actively Looking for Work'");
            sb.AppendLine("  to 'Not Looking but Happy to Talk'.");
            sb.AppendLine("  This means that an employer who views your resume may think that you are no longer looking for work,");
            sb.AppendLine("  and so may not contact you for opportunities.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  If this is not accurate, you can");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/profile/status/update") + "\">change your work status</a>");
            sb.AppendLine("  to:");
            sb.AppendLine("</p>");
            sb.AppendLine("<ol>");
            sb.AppendLine("  <li>'Actively Looking for Work', or<p /></li>");
            sb.AppendLine("  <li>'Immediately Available', or<p /></li>");
            sb.AppendLine("  <li>'Not Looking for Work'</li>");
            sb.AppendLine("</ol>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Please note that if you indicate that you are Immediately Available");
            sb.AppendLine("  or Actively Looking for Work,");
            sb.AppendLine("  your status will have to be confirmed regularly.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #3
0
 private static void AssertContact(Guid id, ContactDetails contactDetails, ICommunicationRecipient contact)
 {
     Assert.AreEqual(id, contact.Id);
     Assert.AreEqual(contactDetails.EmailAddress, contact.EmailAddress);
     Assert.AreEqual(contactDetails.FirstName, contact.FirstName);
     Assert.AreEqual(contactDetails.LastName, contact.LastName);
 }
Пример #4
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient member, EmailVerification emailVerification)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + member.FirstName + ",</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  In order to protect your privacy");
            sb.AppendLine("  we need you to verify that the email address you have supplied is correct.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  More importantly, employers may not be able to send possible job opportunities");
            sb.AppendLine("  to you if your email address is not verified.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, 0, false, "~/accounts/verification", "verificationCode", emailVerification.VerificationCode) + "\">");
            sb.AppendLine("    Please verify your email address now");
            sb.AppendLine("  </a>");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  If this link doesn't work, please copy and paste the following link");
            sb.AppendLine("  into your browser:");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, 1, false, "~/accounts/verification", "verificationCode", emailVerification.VerificationCode) + "\">");
            sb.AppendLine("    " + GetTinyUrl(templateEmail, 2, false, "~/accounts/verification", "verificationCode", emailVerification.VerificationCode));
            sb.AppendLine("  </a>");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #5
0
        private void AssertJobG8Request(ICommunicationRecipient user, JobAdEntry jobAd, InternalApplication application, string resumeFileName, string resumeValue)
        {
            var requests = _jobG8Server.GetRequests();

            Assert.AreEqual(1, requests.Count);
            var response = Deserialize <ApplicationResponse>(requests[0].Body.ApplicationXml);

            Assert.AreEqual(jobAd.Integration.JobBoardId, response.ApplicationAnswer.JobBoardID);
            Assert.AreEqual(jobAd.Integration.IntegratorReferenceId, response.ApplicationAnswer.JobReference);

            // FirstName, LastName, EmailAddress + whichever questions have values.

            var count = 3 + (from q in _questionTesters where q.Value != null select q).Count();

            Assert.AreEqual(count, response.ApplicationAnswer.Questions.Question.Length);

            AssertFirstName(user.FirstName, response);
            AssertLastName(user.LastName, response);
            AssertEmailAddress(user.EmailAddress, response);

            AssertQuestions(response);

            AssertCoverLetter(application.CoverLetterText, response);
            AssertResume(resumeFileName, resumeValue, response);
        }
Пример #6
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient employer, int quantity)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Hi " + employer.FirstName + "</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Thank you for using LinkMe for your candidate sourcing");
            sb.AppendLine("  - our records show that you have " + quantity + " credits left in your account.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  This is just a reminder to plan your next purchase of candidate contact credits");
            sb.AppendLine("  for continued access to LinkMe's resume database candidates.");
            sb.AppendLine("  To purchase more credits,");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/employers/products/neworder") + "\">click here</a>");
            sb.AppendLine("  to login and use our secure credit card transaction process.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Did you know that LinkMe offers subscriptions for unlimited access");
            sb.AppendLine("  to the resume database for larger volume users?");
            sb.AppendLine("  Call us on 1800 546 563 to find out how an annual subscription to LinkMe may");
            sb.AppendLine("  be more cost effective for your organisation.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  We look forward to seeing you on our site again soon.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #7
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient member)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>");
            sb.AppendLine("  Dear " + member.FirstName + ",");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Your work status on LinkMe has been changed from 'Immediately Available' to 'Actively Looking for Work'.");
            sb.AppendLine("  This means that when employers find your resume,");
            sb.AppendLine("  they may assume that though you are looking for work,");
            sb.AppendLine("  you may need to provide a notice period to your current employer.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  If this is not accurate, you can");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/profile/status/update") + "\">change your work status</a>");
            sb.AppendLine("  to:");
            sb.AppendLine("</p>");
            sb.AppendLine("<ol>");
            sb.AppendLine("  <li>'Immediately Available', or<p /></li>");
            sb.AppendLine("  <li>'Not Looking but Happy to Talk', or<p /></li>");
            sb.AppendLine("  <li>'Not Looking for Work'</li>");
            sb.AppendLine("</ol>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Please note that if you indicate that you are Immediately Available");
            sb.AppendLine("  or Actively Looking for Work,");
            sb.AppendLine("  your status will have to be confirmed regularly.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #8
0
 private static void WriteResumeDetails(XmlWriter xmlWriter, ICommunicationRecipient applicant)
 {
     xmlWriter.WriteStartElement("Resume");
     xmlWriter.WriteAttributeString("uri", JobAdsRoutes.Resume.GenerateUrl(new { candidateId = applicant.Id.ToString("n") }).AbsoluteUri);
     xmlWriter.WriteAttributeString("name", GetResumeFileName(applicant.FirstName, applicant.LastName));
     xmlWriter.WriteEndElement();
 }
Пример #9
0
        private static ApplicationResponse CreateApplicationResponse(ICommunicationRecipient user, JobAdEntry jobAd, string resumeFileName, FileContents resumeContents, InternalApplication application, IEnumerable <ApplicationAnswer> answers)
        {
            // Files.

            var cv = jobAd.Integration.ApplicationRequirements != null && jobAd.Integration.ApplicationRequirements.IncludeResume
                ? GetEncodedCv(resumeFileName, resumeContents)
                : null;

            var coverLetter = jobAd.Integration.ApplicationRequirements != null && jobAd.Integration.ApplicationRequirements.IncludeCoverLetter
                ? GetEncodedCoverLetter(application)
                : null;

            return(new ApplicationResponse
            {
                ApplicationAnswer = new Answer
                {
                    Questions = new AnswerQuestions
                    {
                        Question = GetAnswers(user).Concat(GetAnswers(answers)).ToArray(),
                    },
                    Files = new AnswerFiles
                    {
                        CV = cv,
                        CoverLetter = coverLetter
                    },
                    JobReference = jobAd.Integration.IntegratorReferenceId,
                    JobBoardID = jobAd.Integration.JobBoardId,
                }
            });
        }
Пример #10
0
        private void AssertFriendsFriendNotVisible(ICommunicationRecipient friendsFriend, IResume friendsResume)
        {
            AssertPageDoesNotContain(friendsFriend.FullName);

            // Current Jobs.

            AssertPageDoesNotContain(friendsResume.GetCurrentJobsDisplayHtml());
        }
Пример #11
0
        private static ReadOnlyUrl GetExternalApplyUrl(string externalApplyUrl, ICommunicationRecipient user)
        {
            var url = new Url(externalApplyUrl);

            if (!string.IsNullOrEmpty(url.QueryString["email"]))
            {
                url.QueryString["email"] = user.EmailAddress;
            }
            return(url);
        }
Пример #12
0
        private void AssertJobApplicant(ICommunicationRecipient member, IUser employer, VerticalTestData data, bool isDeleted, Guid jobAdId)
        {
            // Log in as employer.

            LogIn(employer);
            Get(new ReadOnlyUrl(string.Format("{0}/{1}", _manageCandidatesUrl, jobAdId)));
            AssertPageContains("<span>New (<span class=\"count new-candidates-count\">1</span>)</span>");
            AssertPageContains(member.FullName);

            AssertCandidateLogo(data, isDeleted);
        }
Пример #13
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient employer, string loginId, string password)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + employer.FirstName + ",</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Welcome to LinkMe, Australia's leading online career network,");
            sb.AppendLine("  with " + Candidates + " candidates and growing!");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Your login ID: " + loginId + "<br />");
            sb.AppendLine();
            sb.AppendLine("  Your password: "******"</p>");
            sb.AppendLine();

            var tinyUrl = GetTinyUrl(templateEmail, true, "~/employers/login", "returnUrl", new ReadOnlyApplicationUrl("~/accounts/changepassword").PathAndQuery);

            sb.AppendLine("<p>");
            sb.AppendLine("  <a href=\"" + tinyUrl + "\">");
            sb.AppendLine("    Log in</a>");
            sb.AppendLine("  now to change your password.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  <h3>Key LinkMe functions:</h3>");
            sb.AppendLine("  <ul>");
            sb.AppendLine("    <li>");
            sb.AppendLine("      Email alerts");
            sb.AppendLine("      - keep up to date with the freshest candidates");
            sb.AppendLine("      <p />");
            sb.AppendLine("    </li>");
            sb.AppendLine("    <li>");
            sb.AppendLine("      Advanced search");
            sb.AppendLine("      - refine your search for more relevant candidates");
            sb.AppendLine("      <p />");
            sb.AppendLine("    </li>");
            sb.AppendLine("    <li>");
            sb.AppendLine("      Keyword search");
            sb.AppendLine("      - find candidates with transferable skills for your hard to fill roles");
            sb.AppendLine("      <p />");
            sb.AppendLine("    </li>");
            sb.AppendLine("    <li>");
            sb.AppendLine("      Find passive candidates");
            sb.AppendLine("      - candidates you might not otherwise have access to");
            sb.AppendLine("    </li>");
            sb.AppendLine("  </ul>");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  If you would like more information, visit our");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, false, "~/employers/resources") + "\">resources</a>");
            sb.AppendLine("  section.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #14
0
        private static bool IsSameAddress(ICommunicationRecipient one, ICommunicationRecipient two)
        {
            if (one == null && two == null)
            {
                return(true);
            }
            if (one == null ^ two == null)
            {
                return(false);
            }

            return(one.EmailAddress == two.EmailAddress);
        }
Пример #15
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient inviter, ICommunicationRecipient invitee)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + inviter.FirstName + ",</p>");
            sb.AppendLine("<p>" + invitee.FirstName + " " + invitee.LastName + " accepted your invitation to join your network.</p>");
            sb.AppendLine("<p>You can now see and contact people in " + invitee.FirstName + "'s own network.</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/login") + "\">Log in</a>");
            sb.AppendLine("  now to see how your network has grown!");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #16
0
        private string CreateActivation(ICommunicationRecipient member)
        {
            // Create a verification.

            var emailVerification = new EmailVerification {
                UserId = member.Id, EmailAddress = member.EmailAddress
            };

            _emailVerificationsCommand.CreateEmailVerification(emailVerification);

            // Browse to the page.

            return(emailVerification.VerificationCode);
        }
Пример #17
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient inviter, ICommunicationRecipient invitee, Request invitation, EmailVerification emailVerification)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Hi " + invitee.FirstName + "</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + inviter.FullName + " has sent you a request to represent them");
            sb.AppendLine("  and respond to enquiries from employers on their behalf.");
            sb.AppendLine("</p>");

            sb.AppendLine("<p>");
            sb.AppendLine("  By accepting this request you will receive any communication");
            sb.AppendLine("  sent by employers relating to employment opportunities for");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/friends/ViewFriend.aspx", "friendId", inviter.Id.ToString()) + "\">");
            sb.AppendLine("    " + inviter.FullName);
            sb.AppendLine("  </a>.");
            sb.AppendLine("</p>");
            sb.AppendLine();

            // Show individual text if set.

            if (!string.IsNullOrEmpty(invitation.Text))
            {
                sb.AppendLine("<p>");
                sb.AppendLine("  " + inviter.FirstName.MakeNamePossessive() + " personal message:");
                sb.AppendLine("  <br />");
                sb.AppendLine("  " + HtmlUtil.LineBreaksToHtml(HttpUtility.HtmlEncode(invitation.Text)));
                sb.AppendLine("</p>");
                sb.AppendLine();
            }

            // Link depends on whether the invitee is activated.

            sb.AppendLine("<p>");
            sb.AppendLine();
            if (emailVerification == null)
            {
                sb.AppendLine("  <a class=\"major-action\" href=\"" + GetTinyUrl(templateEmail, true, "~/members/Friends/Invitations.aspx") + "\">Respond to " + inviter.FirstName.MakeNamePossessive() + " invitation</a>");
                sb.AppendLine();
            }
            else
            {
                sb.AppendLine("  <a class=\"major-action\" href=\"" + GetTinyUrl(templateEmail, false, "~/accounts/activation", "activationCode", emailVerification.VerificationCode, "isInvite", "true") + "\">Reactivate");
                sb.AppendLine("  your account and respond to " + inviter.FirstName.MakeNamePossessive() + " invitation</a>");
                sb.AppendLine();
            }
            sb.AppendLine("</p>");

            return(sb.ToString());
        }
Пример #18
0
 private static IEnumerable <AnswerQuestion> GetAnswers(ICommunicationRecipient user)
 {
     return(new[]
     {
         new AnswerQuestion {
             ID = "2", FormatID = 2, FormatIDSpecified = true, Items = new[] { user.FirstName }
         },
         new AnswerQuestion {
             ID = "3", FormatID = 5, FormatIDSpecified = true, Items = new[] { user.LastName }
         },
         new AnswerQuestion {
             ID = "11", FormatID = 15, FormatIDSpecified = true, Items = new[] { user.EmailAddress }
         },
     });
 }
Пример #19
0
        private void SearchEmailAddressAndAssertResults(ICommunicationRecipient member)
        {
            Browse(null, null);
            AssertPage <FindFriends>();

            var query = member.EmailAddress;

            _txtEmail.Text = query;
            _btnSearch.Click();

            var expectedResults = new string[1];

            expectedResults[0] = member.FullName;
            AssertResults(expectedResults);
        }
Пример #20
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient member)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + member.FirstName + ",</p>");
            sb.AppendLine("<p>As requested, attached is a copy of your resume.</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  With a fresh resume you're twice as likely to be found by employers");
            sb.AppendLine("  for your dream job.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/profile") + "\">Update your resume now</a>");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #21
0
        private string GetPlainContent(TemplateEmail templateEmail, ICommunicationRecipient member, string password)
        {
            var sb = new StringBuilder();

            sb.AppendLine("Dear " + member.FirstName + ",");
            sb.AppendLine();
            sb.AppendLine("As requested, your password has been reset.");
            sb.AppendLine();
            sb.AppendLine("Your login ID is '" + member.EmailAddress + "'");
            sb.AppendLine("and your new temporary password is '" + password + "'");
            sb.AppendLine();
            sb.AppendLine("<a href=\"" + GetTinyUrl(templateEmail, "text/plain", true, "~/login") + "\">Log in</a>");
            sb.AppendLine("to access your account and update your password.");
            sb.AppendLine();
            return(sb.ToString());
        }
Пример #22
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient inviter, ICommunicationRecipient invitee)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + inviter.FirstName + ",</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + invitee.FullName + " has accepted your request for them to represent you");
            sb.AppendLine("  in fielding employer enquiries.");
            sb.AppendLine("  They will receive any communication from employers on your behalf.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  You can change your representative any time");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/friends/ViewRepresentative.aspx") + "\">here</a>.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #23
0
        private static string GetPlainContent(ICommunicationRecipient member, IEmployer employer, string content)
        {
            var sb = new StringBuilder();

            sb.AppendLine("Dear " + member.FirstName + ",");
            sb.AppendLine();
            sb.AppendLine(employer.FullName + " of " + employer.Organisation.FullName);
            sb.AppendLine("has found you in our network and has a job opportunity");
            sb.AppendLine("you may be interested in.");
            sb.AppendLine();
            sb.AppendLine(employer.FirstName.MakeNamePossessive() + " personal message:");
            sb.AppendLine();
            sb.AppendLine(content);
            sb.AppendLine();
            sb.AppendLine("If you are interested please reply to this email.");
            sb.AppendLine();
            return(sb.ToString());
        }
Пример #24
0
        private string GetSendingNotAllowedReason(ICommunicationRecipient invitee, FriendInvitation invitation)
        {
            var name = HtmlUtil.TextToHtml(invitee.FullName);

            switch (invitation.Status)
            {
            case RequestStatus.Accepted:
                return(string.Format(AlreadyFriendsFormat, name));

            case RequestStatus.Declined:
                return(string.Format(AlreadyDeclinedFormat, name));

            case RequestStatus.Pending:
                return(string.Format(InviteAlreadyExistsFormat, name, _memberFriendsCommand.GetAllowedSendingTime(invitation)));

            default:
                throw new InvalidOperationException("SendingAllowed should not be false while Status is " + invitation.Status);
            }
        }
Пример #25
0
        private void AssertFriendsFriends(Guid memberId, ICommunicationRecipient friend, ICollection <Member> friendsFriends, bool checkAddress, bool checkTotal)
        {
            // Check total first.

            if (checkTotal)
            {
                if (friendsFriends.Count == 1)
                {
                    AssertPageContains(friend.FirstName + " has one friend");
                }
                else if (friendsFriends.Count <= 9)
                {
                    AssertPageContains(friend.FirstName + " has " + Digits[friendsFriends.Count] + " friends");
                }
                else
                {
                    AssertPageContains(friend.FirstName + " has " + friendsFriends.Count + " friends");
                }
            }

            foreach (var friendsFriend in friendsFriends)
            {
                // Check on the main page.

                var candidate = _candidatesCommand.GetCandidate(friendsFriend.Id);
                var resume    = candidate.ResumeId == null ? null : _resumesQuery.GetResume(candidate.ResumeId.Value);
                if (!AssertFriendsFriend(memberId, friendsFriend, candidate, resume, checkAddress))
                {
                    // Check on the next page.

                    Move(friend.Id, 10);
                    if (!AssertFriendsFriend(memberId, friendsFriend, candidate, resume, checkAddress))
                    {
                        Assert.Fail("Cannot find friend " + friendsFriend.FullName + " in the list.");
                    }
                    else
                    {
                        Move(friend.Id, 0);
                    }
                }
            }
        }
        private static string GetContent(ICommunicationRecipient member, ICommunicationRecipient representee, IEmployer employer, string content)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Dear " + member.FirstName + ",</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + employer.FullName + " of " + employer.Organisation.FullName);
            sb.AppendLine("  has found " + representee.FullName);
            sb.AppendLine("  in our network and has a job opportunity");
            sb.AppendLine("  they may be interested in.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + employer.FirstName.MakeNamePossessive() + " personal message:");
            sb.AppendLine("  <br />");
            sb.AppendLine("  " + HtmlUtil.LineBreaksToHtml(HttpUtility.HtmlEncode(content)));
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  If you are interested please reply to this email.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient member)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>");
            sb.AppendLine("  Dear " + member.FirstName + ",");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  You are currently listed on LinkMe as 'Actively Looking for Work'.");
            sb.AppendLine("  To provide employers with your most accurate work status you should either:");
            sb.AppendLine("</p>");
            sb.AppendLine("<ol>");
            sb.AppendLine("  <li>");
            sb.AppendLine("    Confirm your");
            sb.AppendLine("    <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/profile/status/update", "status", "ActivelyLooking") + "\">Actively Looking for Work</a>");
            sb.AppendLine("    status, or");
            sb.AppendLine("    <p />");
            sb.AppendLine("  </li>");
            sb.AppendLine("  <li>");
            sb.AppendLine("    <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/profile/status/update") + "\">Change your work status</a>");
            sb.AppendLine("    to reflect your current situation, or");
            sb.AppendLine("    <p />");
            sb.AppendLine("  </li>");
            sb.AppendLine("  <li>");
            sb.AppendLine("    Do nothing and your work status will be changed automatically to");
            sb.AppendLine("    'Not Looking but Happy to Talk'.");
            sb.AppendLine("  </li>");
            sb.AppendLine("</ol>");
            sb.AppendLine("<p>");
            sb.AppendLine("  By ensuring your work status is up to date,");
            sb.AppendLine("  you increase your chances of being found and contacted by employers.");
            sb.AppendLine("  Employers and recruiters can search for Immediately Available or active jobseekers,");
            sb.AppendLine("  and can make their decisions to contact based on this information.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Please note: if you confirm your Actively Looking for Work status,");
            sb.AppendLine("  this will need to be confirmed on a monthly basis.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #28
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient sender, Guid threadId, Guid messageId)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>" + sender.FirstName + " sent you a message.</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Subject: " + MessageSubject);
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + MessageText);
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  <br />");
            sb.AppendLine("  <br />");
            sb.AppendLine("  Follow this link to");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/ui/registered/messaging/ViewThread.aspx", "threadId", threadId.ToString("n")) + "\">reply</a>.");
            sb.AppendLine("  <br />");
            sb.AppendLine("  Report as");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/members/messages/reportspam", "messageId", messageId.ToString("n")) + "\">spam</a>.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #29
0
        private string GetContent(TemplateEmail templateEmail, ICommunicationRecipient employer, int newCandidates)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<p>Hi " + employer.FirstName + "</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  " + newCandidates + " candidates have uploaded");
            sb.AppendLine("  or updated their resume since you last visited our web site.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Make your life easier by having the freshest and hard-to-find");
            sb.AppendLine("  candidates delivered direct to your inbox -");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, true, "~/search/candidates") + "\">set");
            sb.AppendLine("    up candidate alerts now</a>.");
            sb.AppendLine("  View our handy");
            sb.AppendLine("  <a href=\"" + GetTinyUrl(templateEmail, false, "~/employers/resources/EmployerWelcomePack.pdf") + "\">tips</a>");
            sb.AppendLine("  to get more out of your subscription.");
            sb.AppendLine("</p>");
            sb.AppendLine("<p>");
            sb.AppendLine("  Take the hassle out of candidate sourcing.");
            sb.AppendLine("</p>");
            return(sb.ToString());
        }
Пример #30
0
        private string GetJobApplication(InternalApplication application, ICommunicationRecipient contact)
        {
            var file = application.ResumeFileId != null
                ? _filesQuery.GetFileReference(application.ResumeFileId.Value)
                : null;

            // Create a member to represent the contact.

            var member = new Member
            {
                FirstName      = contact.FirstName,
                LastName       = contact.LastName,
                EmailAddresses = new List <EmailAddress> {
                    new EmailAddress {
                        Address = contact.EmailAddress, IsVerified = true
                    }
                },
            };

            var resume = new Resume();

            return(GetResponseXml(member, resume, file));
        }