Example #1
0
        public override async Task <MUser> Insert(UserUpsertRequest request)
        {
            if (request.Password != request.PasswordConfirmation)
            {
                throw new Exception("Passwords do not match!");
            }

            var entity = _mapper.Map <User>(request);

            entity.PasswordSalt = GenerateSalt();
            entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);

            await _context.Users.AddAsync(entity);

            await _context.SaveChangesAsync();

            foreach (var roleID in request.Roles)
            {
                var role = new UserRole()
                {
                    UserID = entity.UserID,
                    RoleID = roleID
                };

                await _context.UserRoles.AddAsync(role);
            }

            await _context.SaveChangesAsync();

            return(_mapper.Map <MUser>(entity));
        }
Example #2
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));
        }
        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));
        }
Example #5
0
        public override async Task <MTrack> Insert(TrackUpsertRequest request)
        {
            var entity = _mapper.Map <Track>(request);

            await _context.Tracks.AddAsync(entity);

            await _context.SaveChangesAsync();

            return(_mapper.Map <MTrack>(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> Insert(AlbumUpsertRequest request)
        {
            var entity = _mapper.Map <Album>(request);

            await _context.Albums.AddAsync(entity);

            await _context.SaveChangesAsync();

            foreach (var trackID in request.Tracks)
            {
                var albumTrack = new AlbumTrack()
                {
                    AlbumID = entity.AlbumID,
                    TrackID = trackID
                };
                _context.AlbumTracks.Add(albumTrack);
            }
            await _context.SaveChangesAsync();

            return(_mapper.Map <MAlbum>(entity));
        }
Example #8
0
        public override async Task <MPlaylist> Insert(PlaylistUpsertRequest request)
        {
            var entity = _mapper.Map <Playlist>(request);

            await _context.Playlists.AddAsync(entity);

            await _context.SaveChangesAsync();

            foreach (var trackID in request.Tracks)
            {
                var playlistTrack = new PlaylistTrack()
                {
                    PlaylistID = entity.PlaylistID,
                    TrackID    = trackID
                };
                await _context.PlaylistTracks.AddAsync(playlistTrack);
            }
            await _context.SaveChangesAsync();

            return(_mapper.Map <MPlaylist>(entity));
        }