private List <ТаблицаЗданий> GetBuildings(ТаблицаКниг book) { List <ТаблицаЗданий> Buildings = context.ТаблицаЗданий.ToList(); List <int> NeededCodes = new List <int>(); List <ТаблицаЗданий> FinalBuildings = new List <ТаблицаЗданий>(); context.Entry(book).Collection(x => x.ЗданиеКнига).Load(); foreach (ЗданиеКнига instance in book.ЗданиеКнига) { NeededCodes.Add(instance.КодЗдания); } // получен список кодов магазинов с данной книгой for (int i = 0; i < Buildings.Count; i++) { for (int j = 0; j < NeededCodes.Count; j++) { if (Buildings[i].КодЗдания == NeededCodes[j]) { FinalBuildings.Add(Buildings[i]); } } } return(FinalBuildings); }
public ActionResult Edit(string ISBN) { if (Session["CurrentAdmin"] == null) { return(RedirectToAction("SignIn", new RouteValueDictionary(new { Controller = "SignIn", Action = "SignIn" }))); } ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == ISBN); Session["EditableBook"] = book; List <ТаблицаКниг> Books = new List <ТаблицаКниг>(); List <string> Authors = new List <string>(); List <string> bookAuthors = new List <string>(); List <string> Buildings = new List <string>(); List <string> bookBuildings = new List <string>(); List <string> Publishers = new List <string>(); List <string> bookPublishers = new List <string>(); List <string> Genres = new List <string>(); List <string> bookGenres = new List <string>(); List <object> myModel = new List <object>(); foreach (var item in context.ТаблицаАвторов.ToList()) { Authors.Add(item.КодАвтора + ". " + item.Имя + " " + item.Фамилия); } Books.Add(book); foreach (var item in context.ТаблицаЗданий.ToList()) { Buildings.Add(item.КодЗдания + ". " + item.НазваниеЗдания + ", г. " + item.Город + ", ул. " + item.Улица + ", д. " + item.НомерЗдания); } foreach (var item in context.ТаблицаИздательств.ToList()) { Publishers.Add(item.КодИздательства + ". " + item.НазваниеИздательства + ", г. " + item.Город + ", ул. " + item.Улица + ", д. " + item.Дом); } foreach (var item in context.ЖанрыКниг.ToList()) { Genres.Add(item.КодЖанра + ". " + item.ИмяЖанра); } context.Entry(book).Collection(x => x.ТаблицаАвторов).Load(); foreach (ТаблицаАвторов author in book.ТаблицаАвторов) // получаем имена авторов книги { bookAuthors.Add(author.КодАвтора + ". " + author.Имя + " " + author.Фамилия); } myModel.Add(Books); myModel.Add(Authors); myModel.Add(bookAuthors); myModel.Add(Buildings); myModel.Add(Publishers); myModel.Add(Genres); return(View(myModel)); }
public ActionResult HandleGenreConnection(string GenreLine, string submitButton) { ТаблицаКниг sampleBook = Session["EditableBook"] as ТаблицаКниг; switch (submitButton) { case "Добавить связь": { try { int Id = Convert.ToInt32(GenreLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ЖанрыКниг.Add(context.ЖанрыКниг.Single(a => a.КодЖанра == Id)); context.SaveChanges(); ViewBag.Success = "Жанр был успешно добавлен для данной книги."; return(PartialView("GenreSuccess")); } catch (Exception) { ViewBag.Success = "Жанр для книги не был добавлен в силу возникновения исключения."; return(PartialView("Error")); } } case "Удалить связь": { try { int Id = Convert.ToInt32(GenreLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ЖанрыКниг.Remove(context.ЖанрыКниг.Single(a => a.КодЖанра == Id)); context.SaveChanges(); ViewBag.Success = "Жанр для данной был успешно удален."; return(PartialView("GenreSuccess")); } catch (Exception) { ViewBag.Success = "Жанр для данной книги не был удален в силу возникновения исключения."; return(PartialView("Error")); } } } return(View()); }
public ActionResult HandlePublisherConnection(string PublisherLine, string submitButton) { ТаблицаКниг sampleBook = Session["EditableBook"] as ТаблицаКниг; switch (submitButton) { case "Добавить связь": { try { int Id = Convert.ToInt32(PublisherLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ТаблицаИздательств.Add(context.ТаблицаИздательств.Single(a => a.КодИздательства == Id)); context.SaveChanges(); ViewBag.Success = "Книга была успешно добавлена в издательство."; return(PartialView("PublisherSuccess")); } catch (Exception) { ViewBag.Success = "Книга не была добавлена издательство в силу возникновения исключения."; return(PartialView("Error")); } } case "Удалить связь": { try { int Id = Convert.ToInt32(PublisherLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ТаблицаИздательств.Remove(context.ТаблицаИздательств.Single(a => a.КодИздательства == Id)); context.SaveChanges(); ViewBag.Success = "Книга была успешно удалена из издательства."; return(PartialView("PublisherSuccess")); } catch (Exception) { ViewBag.Success = "Книга не была удалена из издательства в силу возникновения исключения."; return(PartialView("Error")); } } } return(View()); }
public ActionResult HandleAuthorConnection(string AuthorLine, string submitButton) { ТаблицаКниг sampleBook = Session["EditableBook"] as ТаблицаКниг; switch (submitButton) { case "Добавить связь": { try { int Id = Convert.ToInt32(AuthorLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ТаблицаАвторов.Add(context.ТаблицаАвторов.Single(a => a.КодАвтора == Id)); context.SaveChanges(); ViewBag.Success = "Авторство было успешно добавлено."; return(PartialView("AuthorSuccess")); } catch (Exception) { ViewBag.Success = "Авторство не было добавлено в силу возникновения исключения."; return(PartialView("Error")); } } case "Удалить связь": { try { int Id = Convert.ToInt32(AuthorLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == sampleBook.ISBN); book.ТаблицаАвторов.Remove(context.ТаблицаАвторов.Single(a => a.КодАвтора == Id)); context.SaveChanges(); ViewBag.Success = "Авторство было успешно удалено."; return(PartialView("AuthorSuccess")); } catch (Exception) { ViewBag.Success = "Авторство не было удалено в силу возникновения исключения."; return(PartialView("Error")); } } } return(View()); }
public ActionResult HandleBuildingConnection(string BuildingLine, decimal Price, string submitButton) { ТаблицаКниг sampleBook = Session["EditableBook"] as ТаблицаКниг; switch (submitButton) { case "Добавить связь": { try { int Id = Convert.ToInt32(BuildingLine.Split('.')[0]); string price = Math.Round(Price, 2).ToString(); ЗданиеКнига instance = new ЗданиеКнига { ISBN = sampleBook.ISBN, КодЗдания = Id, ЦенаКниги = price }; context.ЗданиеКнига.Add(instance); context.SaveChanges(); ViewBag.Success = "Книга была успешно добавлена в магазин или склад."; return(PartialView("BuildingSuccess")); } catch (Exception) { ViewBag.Success = "Книга не была добавлена в силу возникновения исключения."; return(PartialView("Error")); } } case "Удалить связь": { try { int Id = Convert.ToInt32(BuildingLine.Split('.')[0]); context.ЗданиеКнига.Remove(context.ЗданиеКнига.Single(x => x.КодЗдания == Id && x.ISBN == sampleBook.ISBN)); context.SaveChanges(); ViewBag.Success = "Книга была успешно удалена из магазина или склада."; return(PartialView("BuildingSuccess")); } catch (Exception) { ViewBag.Success = "Книга не была удалена в силу возникновения исключения."; return(PartialView("Error")); } } } return(View()); }
public ActionResult HandleAuthorConnection(string BookLine, string AuthorLine, string submitButton) { switch (submitButton) { case "Добавить связь": { try { string ISBN = BookLine.Split('.')[0]; int Id = Convert.ToInt32(AuthorLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == ISBN); book.ТаблицаАвторов.Add(context.ТаблицаАвторов.Single(a => a.КодАвтора == Id)); context.SaveChanges(); } catch (Exception) { } return(View()); } case "Удалить связь": { try { string ISBN = BookLine.Split('.')[0]; int Id = Convert.ToInt32(AuthorLine.Split('.')[0]); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == ISBN); book.ТаблицаАвторов.Remove(context.ТаблицаАвторов.Single(a => a.КодАвтора == Id)); context.SaveChanges(); } catch (Exception) { } return(View()); } } return(View()); }
public ActionResult SaveNewBook(string ISBN, string Title, string ReleaseYear, int?Pages, string Binding, string Format, HttpPostedFileBase file) { ТаблицаКниг book = new ТаблицаКниг(); try { byte[] picture = new byte[file.ContentLength]; file.InputStream.Read(picture, 0, file.ContentLength); book.ISBN = ISBN; book.НазваниеКниги = Title; book.ГодВыпуска = ReleaseYear; book.КоличествоСтраниц = Pages; book.Переплет = Binding; book.ФорматКниги = Format; book.Обложка = picture; context.ТаблицаКниг.Add(book); context.SaveChanges(); } catch (Exception) { } return(RedirectToAction("Edit", new RouteValueDictionary(new { Controller = "Books", Action = "Edit", ISBN = ISBN }))); }
public ActionResult SaveChanges(string ISBN, string title, string ReleaseYear, int?pages, string binding, string format, string authors, HttpPostedFileBase file) { List <ТаблицаКниг> books = context.ТаблицаКниг.ToList(); ISBN = ISBN.Trim(); ТаблицаКниг book = context.ТаблицаКниг.Single(b => b.ISBN == ISBN); if (pages.Equals(null) == false) { try { if (file != null) { byte[] picture = new byte[file.ContentLength]; file.InputStream.Read(picture, 0, file.ContentLength); book.Обложка = picture; } book.НазваниеКниги = title; book.ГодВыпуска = ReleaseYear; book.КоличествоСтраниц = pages; book.Переплет = binding; book.ФорматКниги = format; context.SaveChanges(); } catch (Exception) { } return(RedirectToAction("Edit", new RouteValueDictionary(new { Controller = "Books", Action = "Edit", ISBN = ISBN }))); } if (pages.Equals(null) == true) { View("WrongPagesInfo").ViewBag.Error = "Введенные данные не соответствуют формату. Количество страниц должно быть числом и не должно содержать символов, отличных от цифр."; return(PartialView("WrongPagesInfo")); } return(RedirectToAction("Edit", new RouteValueDictionary(new { Controller = "Books", Action = "Edit", ISBN = ISBN }))); }