public ActionResult Download(ResumeMimeType?mimeType, Guid[] candidateIds) { try { // Get the employer. var employer = CurrentEmployer; // Get the views to unlock the members. var professionalViews = _employerMemberViewsQuery.GetProfessionalViews(employer, candidateIds); _employerMemberViewsCommand.AccessMembers(ActivityContext.Channel.App, employer, professionalViews, MemberAccessReason.ResumeDownloaded); // Unlocking will change what the employer can see so get them again. var views = _employerMemberViewsQuery.GetEmployerMemberViews(employer, candidateIds); mimeType = GetMimeType(mimeType, candidateIds); switch (mimeType.Value) { case ResumeMimeType.Doc: return(DocFile(_employerResumeFilesQuery.GetResumeFile(views[candidateIds[0]]))); default: return(ZipFile(_employerResumeFilesQuery.GetResumeFile(views))); } } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(View("Error")); }
private ContentAttachment GetResumeFile(EmployerMemberView view) { var resumeFile = _employerResumeFilesQuery.GetResumeFile(view); // Save the contents into a stream. var stream = new MemoryStream(); stream.Write(resumeFile.Contents, 0, resumeFile.Contents.Length); stream.Position = 0; return(new ContentAttachment(stream, resumeFile.Name, MediaType.GetMediaTypeFromExtension(Path.GetExtension(resumeFile.Name), MediaType.Text))); }
DocFile IJobAdApplicationsManager.GetResume(Member member) { var candidate = _candidatesQuery.GetCandidate(member.Id); var resume = candidate.ResumeId == null ? null : _resumesQuery.GetResume(candidate.ResumeId.Value); var view = new EmployerMemberView(member, candidate, resume, null, ProfessionalContactDegree.Applicant, false, false); return(_employerResumeFilesQuery.GetResumeFile(view)); }
private ContentAttachment GetResumeFile(IEnumerable <EmployerMemberView> views) { var resumeFile = _employerResumeFilesQuery.GetResumeFile(views); var fileName = resumeFile.Name; // Save the contents of the zip file into a stream. var stream = new MemoryStream(); resumeFile.Save(stream); stream.Position = 0; return(new ContentAttachment(stream, fileName, MediaType.GetMediaTypeFromExtension(Path.GetExtension(fileName), MediaType.Text))); }