This commit is contained in:
Tizian.Breuch
2025-07-29 14:04:35 +02:00
parent 2d6eeb7a50
commit c1ee56c81c
19 changed files with 339 additions and 125 deletions

View File

@@ -1,13 +1,15 @@
// src/Webshop.Infrastructure/Repositories/CustomerRepository.cs
using Microsoft.EntityFrameworkCore;
using Webshop.Domain.Entities;
using Webshop.Domain.Interfaces;
using Webshop.Infrastructure.Data;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Webshop.Infrastructure.Repositories
{
public class CustomerRepository : ICustomerRepository
public class CustomerRepository : ICustomerRepository // MUSS public sein
{
private readonly ApplicationDbContext _context;
@@ -16,15 +18,17 @@ namespace Webshop.Infrastructure.Repositories
_context = context;
}
public async Task<Customer?> GetByUserIdAsync(string userId)
{
return await _context.Customers.FirstOrDefaultAsync(c => c.AspNetUserId == userId);
}
// Beispiel-Implementierungen (wenn nicht schon vorhanden):
public async Task<IEnumerable<Customer>> GetAllAsync() => await _context.Customers.ToListAsync();
public async Task<Customer?> GetByIdAsync(Guid id) => await _context.Customers.FindAsync(id);
public async Task AddAsync(Customer entity) { _context.Customers.Add(entity); await _context.SaveChangesAsync(); }
public async Task UpdateAsync(Customer entity) { _context.Customers.Update(entity); await _context.SaveChangesAsync(); }
public async Task DeleteAsync(Guid id) { var entity = await _context.Customers.FindAsync(id); if (entity != null) { _context.Customers.Remove(entity); await _context.SaveChangesAsync(); } }
public async Task UpdateAsync(Customer customer)
// KORREKTE IMPLEMENTIERUNG F<>R GetByUserIdAsync
public async Task<Customer?> GetByUserIdAsync(string aspNetUserId)
{
_context.Customers.Update(customer);
await _context.SaveChangesAsync();
return await _context.Customers.FirstOrDefaultAsync(c => c.AspNetUserId == aspNetUserId);
}
}
}