public IResult GetCandidateById(Guid id) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var candidateViewModel = new CandidateViewModel(); var getCandidate = _candidateRepository.GetByID(id); var openingCandidate = _candidateRepository.GetOpeningCandidate(getCandidate.CandidateId); candidateViewModel.OpeningId = openingCandidate.Opening.OpeningId; candidateViewModel.OpeningTitle = openingCandidate.Opening.Title; candidateViewModel.Qualification = getCandidate.Qualification.QualificationId; candidateViewModel.QualificationName = getCandidate.Qualification.Name; candidateViewModel.OrganizationName = getCandidate.Organisation.Name; var candidateDocument = new CandidateDocumentViewModel(); candidateViewModel.CandidateDocument = (CandidateDocumentViewModel)candidateDocument.MapFromModel(getCandidate.CandidateDocuments.FirstOrDefault()); result.Body = candidateViewModel.MapFromModel(getCandidate); } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; } return(result); }
public ActionResult Create(CandidateDocumentViewModel vm) { if (ModelState.IsValid) { var newDocument = new CandidateDocument { CandidateId = vm.CandidateId, DocumentType = vm.DocumentType, FileSize = 0.0 }; if (vm.Document != null) { var siteSettings = _settingsService.GetSiteSettings(); var blobUploadService = new BlobUploadService(siteSettings.BlobSettings); var blobPath = blobUploadService.UploadRecruitDocument(vm.Document); newDocument.DocumentPath = blobPath; newDocument.FileName = vm.Document.FileName; } _candidateDocumentRepository.Create(newDocument); _unitOfWork.Commit(); return(RedirectToAction("Details", "Candidates", new { id = vm.CandidateId })); } return(View(vm)); }
private void GetCandidateDocumentDetails(CandidateDocumentViewModel candidateDocumentViewModel, IFormFile file) { candidateDocumentViewModel.DocumentName = file.FileName; var allowedExtensions = _configuration["ResumeExtension"].Split(','); var extension = FileHelper.GetExtension(file, allowedExtensions); candidateDocumentViewModel.UploadedDocument = Guid.NewGuid().ToString() + extension; }
public ActionResult Create(int candidateId) { var vm = new CandidateDocumentViewModel { CandidateId = candidateId }; return(View(vm)); }
public IResult AddCandidate(CandidateViewModel candidateViewModel, CandidateDocumentViewModel candidateDocumentViewModel) { var result = new Result { Operation = Operation.Create, Status = Status.Success }; try { var candidateModel = new Candidates(); candidateModel.MapFromViewModel(candidateViewModel, (ClaimsIdentity)_principal.Identity); candidateModel.QualificationId = candidateViewModel.Qualification; #region Insert OpeningCandidate var openingCandidate = new OpeningCandidates(); openingCandidate.OpeningId = candidateViewModel.OpeningId; openingCandidate.Candidate = candidateModel; openingCandidate.MapAuditColumns((ClaimsIdentity)_principal.Identity); #endregion #region Insert Organization Organizations organization = null; if (candidateViewModel.OrganizationId != 0) { candidateModel.OrganizationId = candidateViewModel.OrganizationId; } else { organization = new Organizations { Name = candidateViewModel.OrganizationName }; organization.MapAuditColumns((ClaimsIdentity)_principal.Identity); candidateModel.Organisation = organization; } #endregion #region Insert Candidate Document var candidateDocumentModel = new CandidateDocuments(); candidateDocumentModel.MapFromViewModel(candidateDocumentViewModel, (ClaimsIdentity)_principal.Identity); candidateModel.CandidateDocuments.Add(candidateDocumentModel); #endregion _candidateRepository.AddCandidate(candidateModel, openingCandidate); result.Body = candidateModel.CandidateId; } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; } return(result); }
public IResult AddCandidate() { var candidateViewModel = JsonConvert.DeserializeObject <CandidateViewModel>(Request.Form["candidate"]); var file = Request.Form.Files["uploadFile"]; var candidateDocumentViewModel = new CandidateDocumentViewModel(); GetCandidateDocumentDetails(candidateDocumentViewModel, file); var addedCandidate = _candidateManagerService.AddCandidate(candidateViewModel, candidateDocumentViewModel); if (addedCandidate.Body != null) { var allowedExtensions = _configuration["ResumeExtension"].Split(','); FileHelper.SaveFile(file, candidateDocumentViewModel.UploadedDocument, allowedExtensions, _hostingEnvironment, "uploadFiles"); } return(addedCandidate); }
public IResult UpdateCandidate(CandidateViewModel candidateViewModel, CandidateDocumentViewModel candidateDocumentViewModel) { var result = new Result { Operation = Operation.Update, Status = Status.Success }; try { var candidateModel = _candidateRepository.GetByID(candidateViewModel.CandidateId); candidateModel.MapFromViewModel(candidateViewModel, (ClaimsIdentity)_principal.Identity); candidateModel.QualificationId = candidateViewModel.Qualification; #region Organization insert update Organizations organization = null; if (candidateModel.OrganizationId != candidateViewModel.OrganizationId) { if (candidateViewModel.OrganizationId != 0) { candidateModel.OrganizationId = candidateViewModel.OrganizationId; } else { organization = new Organizations { Name = candidateViewModel.OrganizationName }; organization.MapAuditColumns((ClaimsIdentity)_principal.Identity); candidateModel.Organisation = organization; } } #endregion #region OpeningCandidate Update var openingCandidateModel = _candidateRepository.GetOpeningCandidate(candidateViewModel.CandidateId); if ((openingCandidateModel != null) && (openingCandidateModel.Opening.OpeningId != candidateViewModel.OpeningId)) { openingCandidateModel.OpeningId = candidateViewModel.OpeningId; openingCandidateModel.MapAuditColumns((ClaimsIdentity)_principal.Identity); } #endregion #region Candidate Document Insert Update var candidateDocumentModel = candidateModel.CandidateDocuments.FirstOrDefault(); if (candidateDocumentViewModel != null) { candidateDocumentModel.MapFromViewModel(candidateDocumentViewModel, (ClaimsIdentity)_principal.Identity); } candidateModel.CandidateDocuments.Add(candidateDocumentModel); #endregion _candidateRepository.UpdateCandidate(candidateModel, openingCandidateModel); result.Body = candidateModel.CandidateId; } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; } return(result); }