Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        public virtual async Task <List <TModel> > Get(TSearch search)
        {
            var list = await _context.Set <TDatabase>().ToListAsync();

            return(_mapper.Map <List <TModel> >(list));
        }