public override async Task <MUser> GetById(int ID) { var entity = await _context.Set <User>() .Where(i => i.UserID == ID) .Include(i => i.UserRoles) .SingleOrDefaultAsync(); return(_mapper.Map <MUser>(entity)); }
public async Task <MTrackReview> Insert(ReviewUpsertRequest request) { var entity = _mapper.Map <UserTrackReview>(request); _context.Set <UserTrackReview>().Add(entity); await _context.SaveChangesAsync(); return(_mapper.Map <MTrackReview>(entity)); }
public async Task <MComment> Insert(CommentUpsertRequest request) { var entity = _mapper.Map <Comment>(request); _context.Set <Comment>().Add(entity); await _context.SaveChangesAsync(); return(_mapper.Map <MComment>(entity)); }
public override async Task <MGenre> Insert(GenreUpsertRequest request) { if (await _context.Genres.AnyAsync(i => i.Name == request.Name)) { throw new UserException("Genre already exists!"); } var entity = _mapper.Map <Genre>(request); _context.Set <Genre>().Add(entity); await _context.SaveChangesAsync(); return(_mapper.Map <MGenre>(entity)); }
public override async Task <MAlbum> Update(int id, AlbumUpsertRequest request) { var entity = _context.Albums.Find(id); _context.Albums.Attach(entity); _context.Albums.Update(entity); foreach (var TrackID in request.Tracks) { var albumTrack = await _context.AlbumTracks .Where(i => i.TrackID == TrackID && i.AlbumID == id) .SingleOrDefaultAsync(); if (albumTrack == null) { var newAlbumTrack = new AlbumTrack() { AlbumID = id, TrackID = TrackID }; await _context.Set <AlbumTrack>().AddAsync(newAlbumTrack); } } foreach (var TrackID in request.TracksToDelete) { var albumTrack = await _context.AlbumTracks .Where(i => i.TrackID == TrackID && i.AlbumID == id) .SingleOrDefaultAsync(); if (albumTrack != null) { _context.Set <AlbumTrack>().Remove(albumTrack); } } _mapper.Map(request, entity); await _context.SaveChangesAsync(); return(_mapper.Map <MAlbum>(entity)); }
public override async Task <MPlaylist> Update(int ID, PlaylistUpsertRequest request) { var entity = _context.Playlists.Find(ID); _context.Playlists.Attach(entity); _context.Playlists.Update(entity); foreach (var TrackID in request.Tracks) { var playlistTrack = await _context.PlaylistTracks .Where(i => i.TrackID == TrackID && i.PlaylistID == ID) .SingleOrDefaultAsync(); if (playlistTrack == null) { var newPlaylistTrack = new PlaylistTrack() { PlaylistID = ID, TrackID = TrackID }; await _context.Set <PlaylistTrack>().AddAsync(newPlaylistTrack); } } foreach (var TrackID in request.TracksToDelete) { var playlistTrack = await _context.PlaylistTracks .Where(i => i.TrackID == TrackID && i.PlaylistID == ID) .SingleOrDefaultAsync(); if (playlistTrack != null) { _context.Set <PlaylistTrack>().Remove(playlistTrack); } } _mapper.Map(request, entity); await _context.SaveChangesAsync(); return(_mapper.Map <MPlaylist>(entity)); }
public virtual async Task <TModel> Insert(TInsert request) { var entity = _mapper.Map <TDatabase>(request); _context.Set <TDatabase>().Add(entity); await _context.SaveChangesAsync(); return(_mapper.Map <TModel>(entity)); }
public virtual async Task <List <TModel> > Get(TSearch search) { var list = await _context.Set <TDatabase>().ToListAsync(); return(_mapper.Map <List <TModel> >(list)); }