Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 void ICandidatesRepository.CreateResumeFile(Guid candidateId, ResumeFileReference resumeFileReference)
 {
     using (var dc = CreateContext())
     {
         dc.CandidateResumeFileEntities.InsertOnSubmit(resumeFileReference.Map(candidateId));
         dc.SubmitChanges();
     }
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        public static CandidateResumeFileEntity Map(this ResumeFileReference resumeFileReference, Guid candidateId)
        {
            var entity = new CandidateResumeFileEntity
            {
                id          = resumeFileReference.Id,
                candidateId = candidateId,
            };

            resumeFileReference.MapTo(entity);
            return(entity);
        }
Exemplo n.º 7
0
 void ICandidatesRepository.UpdateResumeFile(ResumeFileReference resumeFileReference)
 {
     using (var dc = CreateContext())
     {
         var entity = GetResumeFileEntity(dc, resumeFileReference.Id);
         if (entity != null)
         {
             resumeFileReference.MapTo(entity);
             dc.SubmitChanges();
         }
     }
 }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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]);
            }
        }
Exemplo n.º 10
0
 public static void MapTo(this ResumeFileReference resumeFileReference, CandidateResumeFileEntity entity)
 {
     entity.fileId       = resumeFileReference.FileReferenceId;
     entity.lastUsedTime = resumeFileReference.LastUsedTime;
     entity.uploadedTime = resumeFileReference.UploadedTime;
 }
Exemplo n.º 11
0
 private static void AssertResumeFileReference(Guid fileReferenceId, ResumeFileReference resumeFileReference)
 {
     Assert.AreEqual(fileReferenceId, resumeFileReference.FileReferenceId);
 }