/// <summary> /// creates media, if the first media, creates also media group /// </summary> /// <param name="createDto"></param> /// <returns>media id</returns> public async Task <int> CreateAsync(MediaCreateDto createDto) { // TODO Armin -> maybe we should seperate create and add method ? if (createDto.GroupId == 0) { MediaGroup mediaGroup = new MediaGroup { Type = createDto.GroupType }; await _context.MediaGroups.AddAsync(mediaGroup); await _context.SaveChangesAsync(); createDto.GroupId = mediaGroup.Id; } Media media = new Media { Source = createDto.Source, Url = createDto.Url, Type = createDto.Type, GroupId = createDto.GroupId, PublicId = createDto.PublicId }; await _context.Medias.AddAsync(media); await _context.SaveChangesAsync(); return(media.Id); }
/// <summary> /// mocks creating media /// </summary> /// <param name="createDto">instance of <see cref="MediaCreateDto"/></param> /// <returns>new media id</returns> public async Task <int> CreateAsync(MediaCreateDto createDto) { Media media = new Media { Id = 6, Url = createDto.Url, Type = createDto.Type, Source = createDto.Source }; _medias.Add(media); return(await Task.Run(() => { return media.Id; })); }