public async Task <VideoDTO> AddVideoAsync(VideoDTO videoDto) { var video = _mapper.Map <Video>(videoDto); var result = await _repository.AddAsync(video); return(_mapper.Map <VideoDTO>(result)); }
/// <summary> /// Create a new video. /// </summary> /// <param name="video"></param> /// <returns></returns> public async Task <Result <VideoMaterialInfo> > AddAsync(VideoMaterialInfo video, string courseId) { var videoDb = _mapper.Map <VideoMaterialInfo, VideoMaterialDb>(video); videoDb.Created = DateTime.Now; videoDb.CourseId = courseId; //заменить на ID курса try { await _videoRepository.AddAsync(videoDb); return(Result <VideoMaterialInfo> .Ok(_mapper.Map <VideoMaterialInfo>(videoDb))); } catch (DbUpdateConcurrencyException e) { return((Result <VideoMaterialInfo>)Result.Fail($"Cannot save video. {e.Message}")); } catch (DbUpdateException e) { return((Result <VideoMaterialInfo>)Result.Fail($"Cannot save video. Duplicate field. {e.Message}")); } catch (DbEntityValidationException e) { return((Result <VideoMaterialInfo>)Result.Fail($"Invalid video. {e.Message}")); } }
public async Task AddVideo(VideoDto dto) { var videoEntity = new Video { Id = dto.Id, Name = dto.Name, DirectedBy = dto.DirectedBy, Duration = dto.Duration, Genre = dto.Genre, CreationDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow }; await _videoRepository.AddAsync(videoEntity); }
public async Task CreateAsync(VideoTagViewModel video) { var v = new Video { Info = video.Info, UploaderId = video.UploaderId, Title = video.Title, UploadTime = DateTime.Now, CommentsCount = 0, FavoriteCount = 0, GoodCount = 0 }; await videoRepository.AddAsync(v); await videoRepository.AddTagsAsync(video.Tags.Select(t => new VideoTag { TagId = t.Id, VideoId = v.Id })); }