コード例 #1
0
        public ActionResult New()
        {
            var categories = _categoryService.GetCategories();
            var viewModel  = new NewBookmarkViewModel
            {
                Categories = categories
            };

            return(View(viewModel));
        }
コード例 #2
0
        public IActionResult New()
        {
            NewBookmarkViewModel userBookmark = new NewBookmarkViewModel
            {
                userName = _userManager.GetUserName(User),
                tags     = ""
            };

            return(View(userBookmark));
        }
コード例 #3
0
        public async Task <IActionResult> CreateBookmark([FromBody] NewBookmarkViewModel newBookmark)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var bookmarkEntity = Mapper.Map <NewBookmarkViewModel, Bookmark>(newBookmark);
                bookmarkEntity.UserId = this.User.Identity.Name;
                var createdBookmark = await new CreationUserContextedInstruction <Bookmark, Category, string, string>(
                    this.context,
                    bookmarkEntity,
                    bookmarkEntity.CategoryId,
                    this.User.Identity.Name).Execute();
                return(CreatedAtAction("GetBookmark", new { bookmarkId = createdBookmark.Id }, Mapper.Map <Bookmark, BookmarkViewModel>(createdBookmark)));
            }
            catch (InstructionException ex)
            {
                return(StatusCode((int)(ex.httpStatusCode), ex.Message));
            }
        }
コード例 #4
0
        public async Task <IActionResult> New(NewBookmarkViewModel newUserBookmark)
        {
            var checkBookmark = await _context.Bookmarks.FirstOrDefaultAsync(b => b.urlLink == newUserBookmark.url);

            string bookmarkId;

            if (checkBookmark != null)
            {
                bookmarkId = checkBookmark.bookmarkId;
            }
            else
            {
                Bookmark bookmark = new Bookmark {
                    urlLink = newUserBookmark.url
                };
                bookmark.setName();

                _context.Bookmarks.Add(bookmark);
                await _context.SaveChangesAsync();

                bookmarkId = (from bm in _context.Bookmarks
                              where bm.urlLink == bookmark.urlLink &&
                              bm.name == bookmark.name
                              select bm.bookmarkId)
                             .FirstOrDefault();
            }

            UserBookmark userBookmark = new UserBookmark
            {
                bookmarkId      = bookmarkId,
                userId          = _userManager.GetUserId(User),
                addedTime       = DateTime.Now,
                userDefinedName = newUserBookmark.bookmarkName,
                isPrivate       = newUserBookmark.isPrivate
            };

            _context.UserBookmarks.Add(userBookmark);
            await _context.SaveChangesAsync();

            if (newUserBookmark.tags.Any())
            {
                var tags = newUserBookmark.tags.Split(',');

                foreach (string tag in tags)
                {
                    var checkTag = (from t in _context.Tags
                                    where t.tag == tag
                                    select t).FirstOrDefault();

                    string tagId;

                    if (checkTag != null)
                    {
                        tagId = checkTag.tagId;
                    }
                    else
                    {
                        Tag newTag = new Tag()
                        {
                            tag = tag
                        };
                        _context.Tags.Add(newTag);
                        await _context.SaveChangesAsync();

                        tagId = (from t in _context.Tags
                                 where t.tag == tag
                                 select t.tagId)
                                .FirstOrDefault();
                    }

                    _context.TagBookmarks.Add(new TagBookmark
                    {
                        tagId      = tagId,
                        bookmarkId = bookmarkId,
                        userId     = _userManager.GetUserId(User)
                    });

                    await _context.SaveChangesAsync();
                }
            }

            return(RedirectToAction(nameof(Index)));
        }