Exemplo n.º 1
0
        public ActionResult Create()
        {
            var viewModel = new PictureFormViewModel
            {
                Categories = _context.Categories.ToList(),
                Heading    = "Add a Picture"
            };

            return(View("PictureForm", viewModel));
        }
Exemplo n.º 2
0
        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"));
        }