ریپازیتوری با Unit Of Work (Repository With Unit Of Work)
در معماری تمیز در بخش ریپازیتوری با استفاده از unit of work قوانین SaveChange تغییر میکند .
public class UserRepository(AppDbContext context) :IUserRepository
{
public async Task<IEnumerable<User>> GetAllUserAsync(User user)
{
return await context.Users.ToListAsync();
}
public async Task<User?> GetUserByIdAsync(int id)
{
return await context.Users.SingleOrDefaultAsync(u => u.Id == id);
}
public async Task CreateAsync(User user)
{
await context.Users.AddAsync(user);
}
public Task UpdateAsync(User user)
{
context.Users.Update(user);
return Task.CompletedTask;
}
public async Task DeleteAsync(int id)
{
var user = await context.Users.SingleOrDefaultAsync(u => u.Id == id);
if (user != null)
{
await DeleteAsync(user);
}
}
public async Task DeleteAsync(User user)
{
user.IsDeleted=true;
user.IsActive= false;
user.DeleteDate= DateTime.Now;
await UpdateAsync(user);
}
}
پیشنیازها و کدهای پایه:
1 مورد
مراحل بعد و کدهای تکمیلی:
1 مورد