Пример #1
0
        public void AddCandidateToAdvertisement(int advertisementId, int candidateId)
        {
            var advertisement = this.context.Advertisements.FirstOrDefault(a => a.Id == advertisementId);

            if (advertisement == null)
            {
                throw new ArgumentException("Invalid advertisement id.", "advertisementId");
            }

            var candidate = this.context.Candidates.FirstOrDefault(c => c.Id == candidateId);

            if (candidate == null)
            {
                throw new ArgumentException("Invalid candidate id.", "candidateId");
            }
            var relation = new AdvertisementCandidate()
            {
                Advertisement = advertisement, Candidate = candidate
            };

            advertisement.Candidates.Add(relation);
            candidate.Advertisements.Add(relation);

            this.context.SaveChanges();
        }
Пример #2
0
        public void Candidate_CanBeRemovedFromAdvertisement()
        {
            var otherCandidate = new Candidate();
            var relation1      = new AdvertisementCandidate()
            {
                Advertisement = this.advertisement, Candidate = this.candidate
            };
            var relation2 = new AdvertisementCandidate()
            {
                Advertisement = this.advertisement, Candidate = otherCandidate
            };

            advertisement.Candidates.Add(relation1);
            advertisement.Candidates.Add(relation2);
            candidate.Advertisements.Add(relation1);
            otherCandidate.Advertisements.Add(relation2);
            this.context.SaveChanges();

            var service = new AdvertisementCandidateService(context);

            Assert.AreEqual(2, this.context.AdvertisementsCandidates.Count());
            service.RemoveCandidateFromAdvertisement(this.advertisement.Id, this.candidate.Id);
            Assert.AreEqual(1, this.context.AdvertisementsCandidates.Count());
        }