public void TestCreateResumeFile() { var candidateId = Guid.NewGuid(); _candidatesCommand.CreateCandidate(new Candidate { Id = candidateId }); var file = _filesCommand.CreateTestFile(FileType.Resume); var resumeFileReference = new ResumeFileReference { FileReferenceId = file.Id }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference); Assert.AreNotEqual(Guid.Empty, resumeFileReference.Id); Assert.AreNotEqual(DateTime.MinValue, resumeFileReference.UploadedTime); Assert.AreNotEqual(DateTime.MinValue, resumeFileReference.LastUsedTime); AssertResumeFile(resumeFileReference, _candidateResumeFilesQuery.GetResumeFile(candidateId, file.Id)); var resumeFileReferences = _candidateResumeFilesQuery.GetResumeFiles(candidateId); Assert.AreEqual(1, resumeFileReferences.Count); AssertResumeFile(resumeFileReference, resumeFileReferences[0]); AssertResumeFile(resumeFileReference, _candidateResumeFilesQuery.GetLastUsedResumeFile(candidateId)); }
private ResumeFileReference CreateResumeFileReference(Guid candidateId, Guid fileReferenceId) { // Look for an existing one. var resumeFileReference = _candidateResumeFilesQuery.GetResumeFile(candidateId, fileReferenceId); if (resumeFileReference != null) { // Update it to reflect it has been used again. _candidateResumeFilesCommand.UpdateLastUsedTime(resumeFileReference); return(resumeFileReference); } // Create a new one. var now = DateTime.Now; resumeFileReference = new ResumeFileReference { FileReferenceId = fileReferenceId, LastUsedTime = now, UploadedTime = now }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference); return(resumeFileReference); }
private Guid GetResumeFileId(Guid memberId, Guid fileReferenceId, bool useForProfile) { // Make sure the id is valid. var fileReference = _filesQuery.GetFileReference(fileReferenceId); if (fileReference == null) { throw new NoResumeFileException(); } // Create or update the resume file reference. var resumeFileReference = _candidateResumeFilesQuery.GetResumeFile(memberId, fileReference.Id); if (resumeFileReference != null) { _candidateResumeFilesCommand.UpdateLastUsedTime(resumeFileReference); } else { resumeFileReference = new ResumeFileReference { FileReferenceId = fileReference.Id }; _candidateResumeFilesCommand.CreateResumeFile(memberId, resumeFileReference); } if (useForProfile) { CreateResume(memberId, fileReference); } return(fileReferenceId); }
void ICandidatesRepository.CreateResumeFile(Guid candidateId, ResumeFileReference resumeFileReference) { using (var dc = CreateContext()) { dc.CandidateResumeFileEntities.InsertOnSubmit(resumeFileReference.Map(candidateId)); dc.SubmitChanges(); } }
private static void AssertResumeFile(ResumeFileReference expectedResumeFileReference, ResumeFileReference resumeFileReference) { Assert.AreEqual(expectedResumeFileReference.Id, resumeFileReference.Id); Assert.AreEqual(expectedResumeFileReference.FileReferenceId, resumeFileReference.FileReferenceId); // Only compare dates because some precision is lost in saving to database. Assert.AreEqual(expectedResumeFileReference.UploadedTime.Date, resumeFileReference.UploadedTime.Date); Assert.AreEqual(expectedResumeFileReference.LastUsedTime.Date, resumeFileReference.LastUsedTime.Date); }
public static CandidateResumeFileEntity Map(this ResumeFileReference resumeFileReference, Guid candidateId) { var entity = new CandidateResumeFileEntity { id = resumeFileReference.Id, candidateId = candidateId, }; resumeFileReference.MapTo(entity); return(entity); }
void ICandidatesRepository.UpdateResumeFile(ResumeFileReference resumeFileReference) { using (var dc = CreateContext()) { var entity = GetResumeFileEntity(dc, resumeFileReference.Id); if (entity != null) { resumeFileReference.MapTo(entity); dc.SubmitChanges(); } } }
public void TestCreateResumeFiles() { var candidateId = Guid.NewGuid(); _candidatesCommand.CreateCandidate(new Candidate { Id = candidateId }); var file1 = _filesCommand.CreateTestFile(1, FileType.Resume); var resumeFileReference1 = new ResumeFileReference { FileReferenceId = file1.Id }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference1); var file2 = _filesCommand.CreateTestFile(2, FileType.Resume); var resumeFileReference2 = new ResumeFileReference { FileReferenceId = file2.Id }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference2); resumeFileReference1.LastUsedTime = DateTime.Now.AddDays(-1); _candidatesRepository.UpdateResumeFile(resumeFileReference1); resumeFileReference2.LastUsedTime = DateTime.Now.AddDays(-2); _candidatesRepository.UpdateResumeFile(resumeFileReference2); AssertResumeFile(resumeFileReference1, _candidateResumeFilesQuery.GetResumeFile(candidateId, file1.Id)); AssertResumeFile(resumeFileReference2, _candidateResumeFilesQuery.GetResumeFile(candidateId, file2.Id)); var resumeFileReferences = _candidateResumeFilesQuery.GetResumeFiles(candidateId); Assert.AreEqual(2, resumeFileReferences.Count); // 1 should come first because it was used last. AssertResumeFile(resumeFileReference1, resumeFileReferences[0]); AssertResumeFile(resumeFileReference2, resumeFileReferences[1]); AssertResumeFile(resumeFileReference1, _candidateResumeFilesQuery.GetLastUsedResumeFile(candidateId)); }
public void TestCreateResumeFiles() { var candidateId = Guid.NewGuid(); _candidatesCommand.CreateCandidate(new Candidate { Id = candidateId }); var file1 = _filesCommand.CreateTestFile(1, FileType.Resume); var resumeFileReference1 = new ResumeFileReference { FileReferenceId = file1.Id }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference1); var file2 = _filesCommand.CreateTestFile(2, FileType.Resume); var resumeFileReference2 = new ResumeFileReference { FileReferenceId = file2.Id }; _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference2); AssertResumeFile(resumeFileReference1, _candidateResumeFilesQuery.GetResumeFile(candidateId, file1.Id)); AssertResumeFile(resumeFileReference2, _candidateResumeFilesQuery.GetResumeFile(candidateId, file2.Id)); var resumeFileReferences = _candidateResumeFilesQuery.GetResumeFiles(candidateId); Assert.AreEqual(2, resumeFileReferences.Count); if (resumeFileReferences[0].Id == resumeFileReference1.Id) { AssertResumeFile(resumeFileReference1, resumeFileReferences[0]); AssertResumeFile(resumeFileReference2, resumeFileReferences[1]); } else { AssertResumeFile(resumeFileReference1, resumeFileReferences[1]); AssertResumeFile(resumeFileReference2, resumeFileReferences[0]); } }
public static void MapTo(this ResumeFileReference resumeFileReference, CandidateResumeFileEntity entity) { entity.fileId = resumeFileReference.FileReferenceId; entity.lastUsedTime = resumeFileReference.LastUsedTime; entity.uploadedTime = resumeFileReference.UploadedTime; }
private static void AssertResumeFileReference(Guid fileReferenceId, ResumeFileReference resumeFileReference) { Assert.AreEqual(fileReferenceId, resumeFileReference.FileReferenceId); }