/// <summary> /// Возвращает монографию пользователя userName /// </summary> /// <param name="id"></param> /// <param name="userName"></param> /// <returns></returns> public Monograf GetMonograf(int?id) { Monograf monograf = new Monograf(); if (id == null) { return(monograf); } monograf = GetMonografs().SingleOrDefault(m => m.MonografId == id); return(monograf); }
/// <summary> /// Добавляет монографию /// </summary> /// <returns></returns> public void AddMonograf(Monograf monograf) { _context.Monografs.Add(monograf); _context.SaveChanges(); }
/// <summary> /// Обновляет монографию /// </summary> /// <param name="monografEntry"></param> /// <param name="monograf"></param> public void UpdateMonograf(Monograf monografEntry, Monograf monograf) { monografEntry.MonografName = monograf.MonografName; monografEntry.FileModelId = monograf.FileModelId; monografEntry.YearId = monograf.YearId; monografEntry.RowStatusId = monograf.RowStatusId; monografEntry.IsACHII = monograf.IsACHII; monografEntry.MonografNirTemas = monograf.MonografNirTemas; //////// /// + списки направлений, авторов и пр. if (monograf.MonografNirSpecials != null && monograf.MonografNirSpecials.Count > 0) { foreach (var monografNirSpecial in monografEntry.MonografNirSpecials) { bool isExists = false; foreach (var monografNirSpecialEntry in monografEntry.MonografNirSpecials) { if (monografNirSpecialEntry.NirSpecialId == monografNirSpecial.NirSpecialId) { isExists = true; } } if (!isExists) { monografEntry.MonografNirSpecials.Add(monografNirSpecial); } } } if (monograf.MonografAuthors != null && monograf.MonografAuthors.Count > 0) { foreach (var monografAuthor in monograf.MonografAuthors) { bool isExists = false; foreach (var monografAuthorEntry in monografEntry.MonografAuthors) { if (monografAuthorEntry.MonografAuthorId == monografAuthor.MonografAuthorId) { isExists = true; } } if (!isExists) { monografEntry.MonografAuthors.Add(monografAuthor); } } decimal firstAuthorPart = 1; for (int i = 1; i < monografEntry.MonografAuthors.Count; i++) { firstAuthorPart -= monografEntry.MonografAuthors[i].AuthorPart; } if (firstAuthorPart < 0) { firstAuthorPart = 0; } monografEntry.MonografAuthors[0].AuthorPart = firstAuthorPart; } _context.SaveChanges(); }