Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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 }));
        }