public JsonResult DeletePublishment(PublishmentModel model) { using (var db = new Context()) { var pub = db.Publishments.First(sh => sh.title == model.title); db.Publishments.Remove(pub); switch (model.type) { case "article": var ar = db.Articles.First(sh => sh.givenID.Contains(model.id)); db.Articles.Remove(ar); break; case "inproceeding": var inpr = db.Inproceedings.First(sh => sh.givenID.Contains(model.id)); db.Inproceedings.Remove(inpr); break; case "book": var book = db.Books.First(sh => sh.givenID.Contains(model.id)); db.Books.Remove(book); break; case "inbook": var inbook = db.Inbooks.First(sh => sh.givenID.Contains(model.id)); db.Inbooks.Remove(inbook); break; } db.SaveChanges(); return(Json(new { success = true })); } }
public JsonResult UpdatePublishment(PublishmentModel model) { using (var db = new Context()) { switch (model.type) { case "article": var article = db.Articles.First(sh => sh.givenID.Contains(model.id)); article.author = model.authors; article.volume = model.volume; article.pages = model.pages; article.mag_name = model.medianame; db.Articles.AddOrUpdate(article); break; case "inproceeding": var inproceeding = db.Inproceedings.First(sh => sh.givenID.Contains(model.id)); inproceeding.publisher = model.authors; inproceeding.pages = model.pages; inproceeding.address = model.adrresses; inproceeding.booktitle = model.medianame; db.Inproceedings.AddOrUpdate(inproceeding); break; case "book": var book = db.Books.First(sh => sh.givenID.Contains(model.id)); book.publisher = model.authors; book.volume = model.volume; book.ISBN = model.ISBN; book.ISSN = model.ISSN; break; case "inbook": var inbook = db.Inbooks.First(sh => sh.givenID.Contains(model.id)); inbook.publisher = model.authors; inbook.volume = model.volume; inbook.ISBN = model.ISBN; inbook.ISSN = model.ISSN; inbook.chapter = model.chapter; break; } var pub = db.Publishments.First(sh => sh.title.Contains(model.title)); pub.year = model.year; db.Publishments.AddOrUpdate(pub); db.SaveChanges(); } return(Json(new { success = true })); }
public JsonResult ManualAdd(PublishmentModel model) { using (var db = new Context()) { if (PublishmenExists(model.title)) { var pub = new Publishment { ID = Guid.NewGuid().ToString(), uploadedby = db.UserRoles.First(sh => sh.username == User.Identity.Name).ID, year = model.year, type = model.type, title = model.title }; try { pub.unit_that_belongs = db.UnitMembers.First(sh => sh.Username.Contains(User.Identity.Name)) .ClassID; } catch (Exception e) { pub.unit_that_belongs = "independent"; } db.Publishments.Add(pub); db.SaveChanges(); switch (model.type) { case "article": var ar = new Article { ID = Guid.NewGuid().ToString(), author = model.authors, givenID = pub.ID, mag_name = model.medianame, pages = model.pages, volume = model.volume }; db.Articles.Add(ar); db.SaveChanges(); break; case "inproceeding": var inrp = new Inproceeding { ID = Guid.NewGuid().ToString(), publisher = model.authors, address = model.adrresses, booktitle = model.medianame, editor = model.authors, givenID = pub.ID, pages = model.pages }; db.Inproceedings.Add(inrp); db.SaveChanges(); break; case "book": var book = new Book { ID = Guid.NewGuid().ToString(), publisher = model.authors, address = model.adrresses, edition = "", givenID = pub.ID, ISBN = model.ISBN, ISSN = model.ISSN, number = 0, series = "", volume = model.volume }; db.Books.Add(book); db.SaveChanges(); break; case "inbook": { var inbook = new Inbook { ID = Guid.NewGuid().ToString(), publisher = model.authors, givenID = pub.ID, ISBN = model.ISBN, ISSN = model.ISSN, chapter = model.chapter, volume = model.volume }; db.Inbooks.Add(inbook); db.SaveChanges(); break; } } AddPublshers(model.authors); } } return(Json(new { success = true })); }
public ActionResult OpenPage(string title) { var pub = new PublishmentModel(); using (var db = new Context()) { var publishment = db.Publishments.Where(sh => sh.title == title).First(); switch (publishment.type) { case "article": var article = db.Articles.Where(sh => sh.givenID == publishment.ID).First(); pub.medianame = article.mag_name; pub.title = publishment.title; pub.year = publishment.year; pub.volume = article.volume; pub.pages = article.pages; pub.authors = article.author; pub.adrresses = "-"; pub.ISBN = "-"; pub.ISSN = "-"; pub.chapter = "-"; pub.type = publishment.type; pub.id = article.givenID; pub.publihser_name = db.UserRoles.Where(sh => sh.ID == publishment.uploadedby).First().username; try { pub.unit = db.Units.First(sh => sh.ID == publishment.unit_that_belongs).name; } catch (Exception e) { pub.unit = "Δεν ανήκει σε κάποια μονάδα"; } break; case "inproceeding": var inproceeding = db.Inproceedings.Where(sh => sh.givenID == publishment.ID).First(); pub.authors = inproceeding.editor; pub.medianame = inproceeding.booktitle; pub.year = publishment.year; pub.volume = "-"; pub.pages = inproceeding.pages; pub.authors = inproceeding.publisher; pub.adrresses = inproceeding.address; pub.type = publishment.type; pub.title = publishment.title; pub.ISBN = "-"; pub.ISSN = "-"; pub.chapter = "-"; pub.id = inproceeding.givenID; pub.publihser_name = db.UserRoles.Where(sh => sh.ID == publishment.uploadedby).First().username; try { pub.unit = db.Units.First(sh => sh.ID == publishment.unit_that_belongs).name; } catch (Exception e) { pub.unit = "Δεν ανήκει σε κάποια μονάδα"; } break; case "inbook": var inbook = db.Inbooks.First(sh => sh.givenID == publishment.ID); pub.authors = inbook.publisher; pub.medianame = "-"; pub.year = publishment.year; pub.volume = inbook.volume; pub.pages = "-"; pub.adrresses = "-"; pub.type = publishment.type; pub.title = publishment.title; pub.ISBN = inbook.ISBN; pub.ISSN = inbook.ISSN; pub.chapter = inbook.chapter; pub.id = inbook.givenID; pub.publihser_name = db.UserRoles.Where(sh => sh.ID == publishment.uploadedby).First().username; try { pub.unit = db.Units.First(sh => sh.ID == publishment.unit_that_belongs).name; } catch (Exception e) { pub.unit = "Δεν ανήκει σε κάποια μονάδα"; } break; case "book": var book = db.Books.First(sh => sh.givenID == publishment.ID); pub.authors = book.publisher; pub.medianame = "-"; pub.year = publishment.year; pub.volume = book.volume; pub.pages = "-"; pub.adrresses = "-"; pub.type = publishment.type; pub.title = publishment.title; pub.ISBN = book.ISBN; pub.ISSN = book.ISSN; pub.chapter = "-"; pub.id = book.givenID; pub.publihser_name = db.UserRoles.Where(sh => sh.ID == publishment.uploadedby).First().username; try { pub.unit = db.Units.First(sh => sh.ID == publishment.unit_that_belongs).name; } catch (Exception e) { pub.unit = "Δεν ανήκει σε κάποια μονάδα"; } break; } return(View(pub)); } }