public ActionResult New() { var categories = _categoryService.GetCategories(); var viewModel = new NewBookmarkViewModel { Categories = categories }; return(View(viewModel)); }
public IActionResult New() { NewBookmarkViewModel userBookmark = new NewBookmarkViewModel { userName = _userManager.GetUserName(User), tags = "" }; return(View(userBookmark)); }
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)); } }
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))); }