Esempio n. 1
0
        public async Task <VideoDTO> AddVideoAsync(VideoDTO videoDto)
        {
            var video  = _mapper.Map <Video>(videoDto);
            var result = await _repository.AddAsync(video);

            return(_mapper.Map <VideoDTO>(result));
        }
Esempio n. 2
0
        /// <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}"));
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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
            }));
        }