コード例 #1
0
        public ActionResult Update(EditVideoViewModel model)
        {
            if (!model.Tags.Split(' ').All(x => x.Length <= 20))
                ModelState.AddModelError("Tags", "Tags must be 20 charaters long and contains only number, letter and -");
            if (ModelState.IsValid)
            {
                var oldVideo = Engine.BusinessManagement.Video.GetVideo(model.Id);
                Engine.BusinessManagement.Video.UpdateVideo(new Engine.Dbo.Video()
                    {
                        Id = model.Id,
                        UploadDate = oldVideo.UploadDate,
                        ViewCountToday = oldVideo.ViewCountToday,
                        ViewCountTotal = oldVideo.ViewCountTotal,
                        Title = model.Title,
                        Description = model.Description,
                        User = oldVideo.User,
                        Encodes = oldVideo.Encodes,
                        Comments = oldVideo.Comments,
                    });
                Engine.BusinessManagement.Tag.AddTags(model.Tags.Split().Distinct().Select(x => new Engine.Dbo.Tag() { Name = x }), model.Id);

                return RedirectToAction("Display", "Video", new { id = model.Id, updated = true });
            }
            return View("Edit", model);
        }
コード例 #2
0
        public ActionResult Edit(int id)
        {
            Engine.Dbo.Video video = Engine.BusinessManagement.Video.GetVideo(id);

            if (video == null)
                return RedirectToAction("Index", "Home");

            // TODO: check user rights

            EditVideoViewModel model = new EditVideoViewModel() {
              Id = video.Id,
              Title = video.Title,
              Description = video.Description,
            };

            var tags = Engine.BusinessManagement.Tag.ListTagsByVideoId(video.Id).Select(x => x.Name).ToArray();
            model.Tags = String.Join(" ", tags);

            return View(model);
        }