public async Task <IActionResult> Create([Bind("PublisherProfileId,ContentName,ContentMedium,VisitsPerMonth,SelectedTags")] CreateContentProfileViewModel createContentProfileViewModel) { if (ModelState.IsValid) { ContentProfile contentProfile = new ContentProfile { PublisherProfileId = createContentProfileViewModel.PublisherProfileId, ContentName = createContentProfileViewModel.ContentName, ContentMedium = createContentProfileViewModel.ContentMedium, VisitsPerMonth = createContentProfileViewModel.VisitsPerMonth, IsVerified = false }; _context.Add(contentProfile); await _context.SaveChangesAsync(); var selectedTags = _context.Tags.Where(t => createContentProfileViewModel.SelectedTags.Contains(t.TagId.ToString())).ToList(); var contentProfileTags = selectedTags.Select(st => new ContentProfileTag { ContentProfile = contentProfile as ContentProfile, Tag = st }).ToList(); _context.AddRange(contentProfileTags.ToArray()); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index), "ContentProfiles")); } return(View(createContentProfileViewModel)); }
// GET: ContentProfiles/Create public IActionResult Create() { CreateContentProfileViewModel createContentProfileViewModel = new CreateContentProfileViewModel { PublisherProfileId = _context.Users.Include(u => u.Profile).Where(u => u.UserId == SessionExtensions.GetInt32(HttpContext.Session, "UserId")).FirstOrDefault().Profile.ProfileId, Tags = _context.Tags .Select(t => new SelectListItem { Text = t.TypeName, Value = t.TagId.ToString() }) .ToList() }; return(View(createContentProfileViewModel)); }