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("Ошибка добавления тега. Несколько тегов с одним названием"); } }
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); } }
public Attachment AddAttachmentInApplicant(HttpPostedFileBase filedata, int?applicantId) { Attachment attach = new Attachment(); if (applicantId != null) { attach.ApplicantId = applicantId; attach.Applicant = Applicants.Find(applicantId); } attach.Attach = new byte[filedata.ContentLength]; attach.Type = filedata.ContentType; filedata.InputStream.Read(attach.Attach, 0, filedata.ContentLength); attach.Name = filedata.FileName; return(attach); }
public List <Tag> ToList(int ApplicantId) { return((from tag in Applicants.Find(ApplicantId).Tags orderby tag.TagName select tag).ToList()); }