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)); }
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)); }
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)); }
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)); }