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 JsonResult AddToDataBase(string link) { var counter = 0; AnalyzeXML(link); using (var db = new Context()) { foreach (var item in articles) { if (PublishmenExists(item.title)) { var pub = new Publishment { ID = Guid.NewGuid().ToString(), type = "article", title = item.title, year = item.year, uploadedby = db.UserRoles.Where(sh => sh.username.Contains(User.Identity.Name)).First().ID }; counter++; try { pub.unit_that_belongs = db.UnitMembers.First(sh => sh.Username.Contains(User.Identity.Name)) .ClassID; } catch (Exception e) { pub.unit_that_belongs = "independent"; } var ar = new Article { ID = Guid.NewGuid().ToString(), givenID = pub.ID, mag_name = item.journal, volume = item.volume, pages = item.pages, author = item.author }; db.Publishments.Add(pub); db.Articles.Add(ar); db.SaveChanges(); AddPublshers(item.author); } } foreach (var item in books) { if (PublishmenExists(item.title)) { counter++; var pub = new Publishment { ID = Guid.NewGuid().ToString(), type = "book", title = item.title, year = item.year, uploadedby = db.UserRoles.Where(sh => sh.username.Contains(User.Identity.Name)).First().ID }; counter++; try { pub.unit_that_belongs = db.UnitMembers.First(sh => sh.Username.Contains(User.Identity.Name)) .ClassID; } catch (Exception e) { pub.unit_that_belongs = "independent"; } var book = new Book { ID = Guid.NewGuid().ToString(), givenID = pub.ID, publisher = item.publisher, volume = item.volume, number = int.Parse(item.number), series = item.series, address = item.series, edition = item.edition, ISBN = item.isbn, ISSN = item.issn }; db.Books.Add(book); db.Publishments.Add(pub); db.SaveChanges(); AddPublshers(item.author); } } foreach (var item in inproceedings) { if (PublishmenExists(item.title)) { counter++; var pub = new Publishment { ID = Guid.NewGuid().ToString(), type = "inproceeding", title = item.title, year = item.year, uploadedby = db.UserRoles.Where(sh => sh.username.Contains(User.Identity.Name)).First().ID }; counter++; try { pub.unit_that_belongs = db.UnitMembers.First(sh => sh.Username.Contains(User.Identity.Name)) .ClassID; } catch (Exception e) { pub.unit_that_belongs = "independent"; } var inpr = new Inproceeding { ID = Guid.NewGuid().ToString(), givenID = pub.ID, booktitle = item.booktitle, editor = item.author, pages = item.pages, address = item.ee, publisher = item.author }; db.Publishments.Add(pub); db.Inproceedings.Add(inpr); db.SaveChanges(); AddPublshers(item.author); } } foreach (var item in inBooks) { if (PublishmenExists(item.title)) { counter++; var pub = new Publishment { ID = Guid.NewGuid().ToString(), type = "inbook", title = item.title, year = item.year, uploadedby = db.UserRoles.Where(sh => sh.username.Contains(User.Identity.Name)).First().ID }; counter++; try { pub.unit_that_belongs = db.UnitMembers.First(sh => sh.Username.Contains(User.Identity.Name)) .ClassID; } catch (Exception e) { pub.unit_that_belongs = "independent"; } var inb = new Inbook { ID = Guid.NewGuid().ToString(), givenID = pub.ID, publisher = item.publisher, chapter = item.chapter, volume = item.volume, ISBN = item.isbn, ISSN = item.issn }; db.Publishments.Add(pub); db.Inbooks.Add(inb); db.SaveChanges(); AddPublshers(item.author); } } } return(Json(new { counter })); }