public ActionResult Create() { var viewModel = new PictureFormViewModel { Categories = _context.Categories.ToList(), Heading = "Add a Picture" }; return(View("PictureForm", viewModel)); }
public ActionResult Create(PictureFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Categories = _context.Categories.ToList(); return(View("PictureForm", viewModel)); } BinaryReader br = new BinaryReader(viewModel.File.InputStream); Byte[] bytes = br.ReadBytes((Int32)viewModel.File.InputStream.Length); var userId = User.Identity.GetUserId(); var picture = new Picture { ArtistId = userId, DateTime = DateTime.Now, CategoryId = viewModel.Category, ContentType = viewModel.File.ContentType, ImageContent = bytes, Venue = viewModel.Venue }; _context.Pictures.Add(picture); var notification = Notification.PictureCreated(picture); _context.Notifications.Add(notification); foreach (var follower in _context.Followings.Where(x => x.FolloweeId == userId).Select(x => x.Follower)) { follower.Notify(notification); } _context.SaveChanges(); return(RedirectToAction("Mine", "Pictures")); }