public async Task <Video> EditVideoAsync(VideoEditBindingModel model) { Validator.EnsureNotNull(model, ValidationConstants.VideoDefinedMessage); Validator.EnsureStringNotNullOrEmpty(model.Title, ValidationConstants.VideoTitleMessage); Validator.EnsureStringNotNullOrEmpty(model.Slug, ValidationConstants.VideoSlugMessage); Validator.EnsureStringNotNullOrEmpty(model.Description, ValidationConstants.VideoDescriptionMessage); Validator.EnsureStringNotNullOrEmpty(model.UserId, ValidationConstants.VideoAuthorMessage); Validator.EnsureStringNotNullOrEmpty(model.YoutubeId, ValidationConstants.VideoYoutubeMessage); var dbVideo = this.DbContext.Videos.Find(model.Id); var youtubeId = model.YoutubeId; if (model.YoutubeId.Contains("youtube.com")) { youtubeId = model.YoutubeId.Split("v=").Last().Substring(0, 11); } else if (model.YoutubeId.Contains("youtu.be")) { youtubeId = model.YoutubeId.Split("/").Last().Substring(0, 11); } dbVideo.YoutubeId = youtubeId; dbVideo.UserId = model.UserId; dbVideo.Description = model.Description; dbVideo.Title = model.Title; dbVideo.Slug = model.Slug; await this.DbContext.SaveChangesAsync(); return(dbVideo); }
public async Task <IActionResult> Edit(VideoEditBindingModel model) { var video = await this.videosService.EditVideoAsync(model); SetSuccesfullMessage(EditedSuccessfully, Video); return(this.RedirectToAction("Details", new { id = video.Id, slug = video.Slug })); }