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); }
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); }