public async Task <User> GetUserAsync(string username)
        {
            DbModels.User storedUser = await _dbContext.Users
                                       .AsNoTracking()
                                       .FirstAsync(user => user.Username == username);

            return(_mapper.Map <CoreModels.User>(storedUser));
        }
        public async Task <User> GetUserByIdAsync(Guid guid)
        {
            DbModels.User storedUser = await _dbContext.Users
                                       .AsNoTracking()
                                       .FirstAsync(user => user.Id == guid);

            return(_mapper.Map <CoreModels.User>(storedUser));
        }
        public async Task AddUserAsync(CoreModels.User coreUser)
        {
            DbModels.User user = _mapper.Map <DbModels.User>(coreUser);

            await _dbContext.Users.AddAsync(user);

            await _dbContext.SaveChangesAsync();
        }
        public async Task <User> UpdateUserAsync(User user)
        {
            DbModels.User updatedUser = _mapper.Map <DbModels.User>(user);

            _dbContext.Users.Update(updatedUser);
            await _dbContext.SaveChangesAsync();

            return(_mapper.Map <CoreModels.User>(updatedUser));
        }