Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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)));
        }