예제 #1
0
        public Tag CreateTagAndAddTagInApplicant(TagCreate tagAddApplicant)
        {
            var linqTag = (from iTag in Tags
                           where iTag.TagName.ToLower().CompareTo(tagAddApplicant.TagName.ToLower()) == 0
                           select iTag);

            if (linqTag.Count() == 0)
            {
                Tag tag = new Tag(tagAddApplicant);
                tag.Applicants = new List <Applicant>();
                tag.Applicants.Add(Applicants.Find(tagAddApplicant.ApplicantId));
                Tags.Add(tag);
                SaveChanges();
                return(tag);
            }
            else if (linqTag.Count() == 1)
            {
                if (linqTag.First().Applicants.Where(p => p.ApplicantId == tagAddApplicant.ApplicantId).Count() == 0)
                {
                    linqTag.First().Applicants.Add(Applicants.Find(tagAddApplicant.ApplicantId));
                    SaveChanges();
                }
                return(linqTag.First());
            }
            else
            {
                throw new Exception("Ошибка добавления тега. Несколько тегов с одним названием");
            }
        }
예제 #2
0
        public void DeleteTag(TagCreate tagCreate)
        {
            Applicant applicant = Applicants.Find(tagCreate.ApplicantId);
            Tag       tag       = Tags.Find(tagCreate.TagId);

            applicant.Tags.Remove(tag);
            if (tag.Applicants.Count == 0)
            {
                Tags.Remove(tag);
            }
        }