private void BuildDownloadToken(TutorialStream model, TutorialStreamViewModel vm)
        {
            var token = new DownloadToken
            {
                FileDownload      = true,
                ContentType       = vm.ContentType,
                DownloadName      = $"Video{model.TutorialStreamId}.{model.ContentType.Substring(model.ContentType.IndexOf("/") + 1)}",
                DownloadReason    = "DownloadTutorial",
                FileIdentifier    = $"##VID#{vm.VideoTutorialId}#{vm.TutorialStreamId}",
                HandlerModuleName = VideoFileHandler
            }.CompressToken();

            vm.DownloadToken = token;
        }
        public IActionResult UpdateStream([DataSourceRequest] DataSourceRequest request, TutorialStreamViewModel tutorial)
        {
            var tut = db.TutorialStreams.First(n => n.TutorialStreamId == tutorial.TutorialStreamId);

            this.TryUpdateModelAsync <TutorialStreamViewModel, TutorialStream>(tut);
            //tutorial.VideoTutorialId = tut.VideoTutorialId;
            db.SaveChanges();
            return(Json(new[] { tut }.ToDataSourceResult(request, ModelState,
                                                         v => v.ToViewModel <TutorialStream, TutorialStreamViewModel>(BuildDownloadToken))));
        }
        public IActionResult DeleteStream([DataSourceRequest] DataSourceRequest request, TutorialStreamViewModel tutorial)
        {
            var tut = db.TutorialStreams.First(n => n.TutorialStreamId == tutorial.TutorialStreamId);

            db.TutorialStreams.Remove(tut);
            //tutorial.VideoTutorialId = tut.VideoTutorialId;
            db.SaveChanges();
            return(Json(new[] { tutorial }.ToDataSourceResult(request, ModelState)));
        }