Beispiel #1
0
        public ActionResult Create(CreatePlaylistBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var playlist = Mapper.Instance.Map <CreatePlaylistBindingModel, Playlist>(model);

                this.service.AddPlaylist(playlist);

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
        public IHttpActionResult PostPlaylist([FromBody] CreatePlaylistBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (model == null)
            {
                return(BadRequest());
            }

            var             userId = User.Identity.GetUserId();
            ApplicationUser user   = null;

            if (userId != null)
            {
                user = db.Users.Find(userId);
            }

            if (user == null && userId != null)
            {
                return(Unauthorized());
            }

            var newPlaylist = new Playlist()
            {
                Name    = model.Name,
                OwnerId = userId
            };

            db.Playlists.Add(newPlaylist);
            db.SaveChanges();

            return(this.Ok(new
            {
                id = newPlaylist.Id,
                Name = newPlaylist.Name,
                Owner = newPlaylist.Owner.UserName,
                tags = newPlaylist.Tags.Select(t => new
                {
                    name = t.Name,
                    isAdultContent = t.IsAdultContent
                }),
                videos = newPlaylist.Videos.Select(v => new
                {
                    title = v.Title,
                    status = v.Status
                })
            }));
        }