コード例 #1
0
        public ActionResult BookTagEdit(int id)
        {
            BookTagsModel model = new BookTagsModel();

            model.ID = id;

            model.TagCollection = db.Tbl_Tag;

            model.Tags = db.Tbl_BookTag.Where(a => a.BT_BookID == id).Select(a => a.Tbl_Tag.Tag_ID.ToString()).ToArray();


            return(View(model));
        }
コード例 #2
0
        public ActionResult BookTagEdit(BookTagsModel model)
        {
            var            oldtags = db.Tbl_BookTag.Where(a => a.Tbl_Book.Book_ID == model.ID).ToList();
            List <Tbl_Tag> newtags = new List <Tbl_Tag>();
            var            _book   = db.Tbl_Book.Where(a => a.Book_ID == model.ID).SingleOrDefault();

            foreach (var item in model.Tags)
            {
                int id = 0;

                if (Int32.TryParse(item, out id))
                {
                    newtags.Add(db.Tbl_Tag.Where(a => a.Tag_ID == id).SingleOrDefault());
                }
            }

            foreach (var item in oldtags)
            {
                if (!newtags.Exists(a => a.Tag_ID == item.Tbl_Tag.Tag_ID))
                {
                    db.Tbl_BookTag.Remove(item);
                }
            }

            foreach (var item in model.Tags)
            {
                Tbl_BookTag _booktag = new Tbl_BookTag();
                int         id       = 0;

                if (Int32.TryParse(item, out id))
                {
                    Tbl_Tag tag = db.Tbl_Tag.Where(a => a.Tag_ID == id).SingleOrDefault();

                    if (tag != null)
                    {
                        if (!oldtags.Exists(a => a.Tbl_Tag.Tag_ID == id))
                        {
                            _booktag.Tbl_Tag  = tag;
                            _booktag.Tbl_Book = _book;
                        }
                    }
                    else
                    {
                        Tbl_Tag _tag = new Tbl_Tag();
                        _tag.Tag_Name = item;
                        db.Tbl_Tag.Add(_tag);

                        _booktag.Tbl_Tag  = _tag;
                        _booktag.Tbl_Book = _book;
                    }
                }
                else
                {
                    Tbl_Tag _tag = new Tbl_Tag();
                    _tag.Tag_Name = item;
                    db.Tbl_Tag.Add(_tag);

                    _booktag.Tbl_Tag  = _tag;
                    _booktag.Tbl_Book = _book;
                }

                db.Tbl_BookTag.Add(_booktag);
            }

            if (Convert.ToBoolean(db.SaveChanges() > 0))
            {
                return(RedirectToAction("BookShow", "Book", new { id = _book.Book_ID }));
            }
            else
            {
                return(RedirectToAction("BookShow", "Book", new { id = _book.Book_ID }));
            }
        }