public IActionResult SaveCurrentTime(int taskId, double time) { var user = _userData.GetUserWithStats(User.GetUserId()); var task = _taskData.GetVideoTask(taskId); VideoTaskStatistic currentStat = null; foreach (var stat in user.CourseStatistics) { foreach (var videoTaskStatistic in stat.VideoTaskStatistics) { if (videoTaskStatistic.TaskId == taskId) { currentStat = videoTaskStatistic; break; } } } if (currentStat != null) { currentStat.InProgress = true; currentStat.CurrentTime = time; _statisticData.UpdateVideoTaskStatistic(currentStat); return(Ok()); } return(NotFound()); }
public async Task <IActionResult> Upload() { FormValueProvider formModel; var tempFileName = _hostingEnv.WebRootPath + $"{Path.DirectorySeparatorChar}videos{Path.DirectorySeparatorChar}tem.mp4"; using (var stream = System.IO.File.Create(tempFileName)) { formModel = await Request.StreamFile(stream); } var viewModel = new UploaderViewModel(); var bindingSuccessful = await TryUpdateModelAsync(viewModel, prefix : "", valueProvider : formModel); if (!bindingSuccessful) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } } var rezultFileName = _hostingEnv.WebRootPath + $"{Path.DirectorySeparatorChar}videos{Path.DirectorySeparatorChar}{viewModel.TaskId}.mp4"; if (System.IO.File.Exists(rezultFileName)) { System.IO.File.Delete(rezultFileName); } System.IO.File.Move(tempFileName, rezultFileName); var task = _taskData.GetVideoTask(viewModel.TaskId); task.LocalVideoUrl = rezultFileName; task.VideoUrl = $"/videos/{viewModel.TaskId}.mp4"; _taskData.UpdateVideoTask(task); return(Ok()); }