Esempio n. 1
0
        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 }));
            }
        }
Esempio n. 2
0
        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 }));
        }
Esempio n. 3
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 }));
        }
Esempio n. 4
0
        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));
            }
        }