예제 #1
0
 public IEnumerable <Candidate> GetAllCandidates()
 {
     using (var dbContext = DBContextResolver.CreateNewInstance <ICandidateEntities>())
     {
         return(dbContext.Candidates.ToArray());
     }
 }
예제 #2
0
 public IEnumerable <Skill> GetAllSkills()
 {
     using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
     {
         return(context.Skills.ToList());
     }
 }
예제 #3
0
 public Candidate GetCandidate(long id)
 {
     using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
     {
         var candidate = context.Candidates.FirstOrDefault(x => x.Id == id);
         return(candidate);
     }
 }
예제 #4
0
 public IEnumerable <long> GetCandidateSkills(long candidateId)
 {
     using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
     {
         var candidateSkills = context.CandidateSkills.Where(x => x.CandidateId == candidateId).ToList();
         return(candidateSkills.Select(x => x.SkillId));
     }
 }
예제 #5
0
 public IEnumerable <Candidate> GetCandidateBySkill(long skillId)
 {
     using (var dbContext = DBContextResolver.CreateNewInstance <ICandidateEntities>())
     {
         var selectedCandidateSkills = dbContext.CandidateSkills.Where(x => x.SkillId == skillId);
         var selectedCandidates      = dbContext.Candidates.Where(x => selectedCandidateSkills.Any(y => y.CandidateId == x.Id));
         return(selectedCandidates.ToList());
     }
 }
예제 #6
0
        public void Delete(int id)
        {
            using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
            {
                var candidate       = context.Candidates.First(x => x.Id == id);
                var candidateSkills = context.CandidateSkills.Where(x => x.CandidateId == id);

                RemoveOldSkills(context, candidateSkills, new long[0]);
                context.Candidates.Remove(candidate);
                context.SaveChanges();
            }
        }
예제 #7
0
        public void UpdateCandidate(long id, string firstName, string lastName, IEnumerable <long> skills)
        {
            using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
            {
                var candidate = context.Candidates.First(x => x.Id == id);
                candidate.FirstName = firstName;
                candidate.LastName  = lastName;
                var candidateSkills = context.CandidateSkills.Where(x => x.CandidateId == id);
                RemoveOldSkills(context, candidateSkills, skills);
                AddNewSkills(context, candidateSkills, id, skills);

                context.SaveChanges();
            }
        }
예제 #8
0
        public void Insert(string firstName, string lastName, IEnumerable <long> skills)
        {
            using (var context = DBContextResolver.CreateNewInstance <ICandidateEntities>())
            {
                var candidate = new Candidate()
                {
                    FirstName = firstName,
                    LastName  = lastName
                };
                context.Candidates.Add(candidate);
                context.SaveChanges();

                AddNewSkills(context, new List <CandidateSkill>(), candidate.Id, skills);
                context.SaveChanges();
            }
        }