public ActionResult Index() { ProfileResumeViewModel VM = new ProfileResumeViewModel(); try { var res = _blConnector.GetMemberByEmail(Email); if (res.Member != null && res.Member.ResumeFiles != null) { this.resumeList = JsonConvert.DeserializeObject <List <ProfileResumeJsonModel> >(res.Member.ResumeFiles); List <JobApplicationAttachmentUploadItem> attachments = this.GetLoginUserResumeFilesByEmail(this.Email); } } catch (Exception) { VM.FetchError = true; //throw ex; } VM.ResumeList = this.resumeList; var fullTemplateName = this.templateNamePrefix + this.TemplateName; VM.JsonData = JsonConvert.SerializeObject(VM); return(View(fullTemplateName, VM)); }
public JsonResult DeleteResume(Guid resumeId) { ProfileResumeViewModel VM = new ProfileResumeViewModel(); try { JobApplicationAttachmentUploadItem deleteResumeFileItem = new JobApplicationAttachmentUploadItem(); var res = _blConnector.GetMemberByEmail(this.Email); if (res.Member != null && res.Member.ResumeFiles != null) { this.resumeList = JsonConvert.DeserializeObject <List <ProfileResumeJsonModel> >(res.Member.ResumeFiles); var temp = resumeList.Where(x => x.Id == resumeId).FirstOrDefault(); if (temp != null) { deleteResumeFileItem.Id = resumeId.ToString(); deleteResumeFileItem.AttachmentType = JobApplicationAttachmentType.ProfileResume; deleteResumeFileItem.FileName = temp.FileName; deleteResumeFileItem.PathToAttachment = temp.UploadPathToAttachment; if (_jobApplicationService.DeleteFile(deleteResumeFileItem)) { this.resumeList.Remove(temp); res.Member.ResumeFiles = JsonConvert.SerializeObject(this.resumeList); _blConnector.UpdateMember(res.Member); } } } } catch (Exception ex) { VM.DeleteError = true; Log.Write($"Unable to delete resume to the memeber profile. " + ex.Message, ConfigurationPolicy.ErrorLog); } VM.ResumeList = this.resumeList; VM.JsonData = JsonConvert.SerializeObject(VM); var fullTemplateName = this.templateNamePrefix + this.TemplateName; return(new JsonResult { Data = VM }); }
public JsonResult UploadResume() { var list = ViewBag.ResumeList; HttpPostedFileBase file = null; ProfileResumeViewModel VM = new ProfileResumeViewModel(); try { var res = _blConnector.GetMemberByEmail(Email); if (res.Member != null && res.Member.ResumeFiles != null) { this.resumeList = JsonConvert.DeserializeObject <List <ProfileResumeJsonModel> >(res.Member.ResumeFiles); } if (ModelState.IsValid) { if (Request.Files.Count != 0) { // process each file file = Request.Files[0]; var fileExtension = file.FileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries).Last(); List <string> extensionList = new List <string>() { "pdf", "doc", "docx", "txt", "xls", "xlsx", "rtf" }; if (!extensionList.Contains(fileExtension.ToLower())) { throw new Exception("File extension is not valid."); } Guid identifier = Guid.NewGuid(); List <JobApplicationAttachmentUploadItem> attachments = new List <JobApplicationAttachmentUploadItem>(); attachments.Add(new JobApplicationAttachmentUploadItem() { Id = identifier.ToString(), FileStream = file.InputStream, FileName = file.FileName, AttachmentType = JobApplicationAttachmentType.ProfileResume, Status = "Ready", PathToAttachment = identifier.ToString() + "_" + file.FileName }); _jobApplicationService.UploadFiles(attachments); ProfileResumeJsonModel resumeJson = new ProfileResumeJsonModel() { Id = identifier, UploadDate = DateTime.Now, FileName = file.FileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries).First(), UploadPathToAttachment = identifier.ToString() + "_" + file.FileName, FileExtension = file.FileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries).Last(), FileUrl = attachments.FirstOrDefault().FileUrl }; this.resumeList.Add(resumeJson); res.Member.ResumeFiles = JsonConvert.SerializeObject(this.resumeList); _blConnector.UpdateMember(res.Member); ViewBag.ResumeList = this.resumeList; } } } catch (Exception ex) { VM.UploadError = true; Log.Write($"Unable to upload resume to the memeber profile. " + ex.Message, ConfigurationPolicy.ErrorLog); } VM.ResumeList = this.resumeList; VM.JsonData = JsonConvert.SerializeObject(VM); var fullTemplateName = this.templateNamePrefix + this.TemplateName; return(new JsonResult { Data = VM }); }