Код: Выделить всё
public class GenericRepository : IGenericRepository
where T : BaseDomain
{
private readonly FitnessAppContext _dbContext;
public GenericRepository(FitnessAppContext dbContext)
{
_dbContext = dbContext;
}
public async Task Create(T entity)
{
await _dbContext.AddAsync(entity);
_dbContext.SaveChanges();
}
public async Task Delete(Guid id)
{
_dbContext.Set().FirstOrDefault(a => a.Id.Equals(id)).Delete();
_dbContext.SaveChanges();
}
public IQueryable GetAll()
{
return _dbContext.Set().Where(a => a.IsDeleted.Equals(false)).AsQueryable();
}
public async Task GetById(Guid id)
{
var entity = await _dbContext.Set().FirstOrDefaultAsync(a => a.Id.Equals(id) && a.IsDeleted.Equals(false));
return entity;
}
public async Task Update(T entity)
{
_dbContext.Set().Update(entity);
await _dbContext.SaveChangesAsync();
}
public async Task GetSet()
{
return _dbContext.Set();
}
public IQueryable GetByFilter(Expression predicate)
{
return _dbContext.Set().Where(predicate).AsQueryable().Where(a=>a.IsDeleted.Equals(false)).AsQueryable();
}
public async Task ModifyAndSave()
{
await _dbContext.SaveChangesAsync();
}
}
Код: Выделить всё
private readonly IGenericRepository _customerGenericRepository;
private readonly IGenericRepository _trainingGenericRepository;
public FitnessAppQuery(IGenericRepository customerGenericRepository,
IGenericRepository trainingGenericRepository)
{
_customerGenericRepository = customerGenericRepository;
_trainingGenericRepository = trainingGenericRepository;
}
Код: Выделить всё
public async Task ListAllTraining()
{
var outputModel = new ListTrainingOutputModel();
var trainingSet = await _trainingGenericRepository.GetSet();
var trainingswithincluded = trainingSet.Include(a => a.TrainingType).ToList();
try
{
//var trainings = _trainingRepository
// .GetAllTrainingsWithTrainer();
//.Select(x => new TrainingListItem
//{
// Id = x.Id,
// CourseTime = x.TrainingTime,
// CourseTitle = x.TrainingName,
// TrainerNameSurname = x.PersonalTrainer.Name + " " + x.PersonalTrainer.Surname
//});
//outputModel.Data = trainings.ToList();
outputModel.IsSuccess = true;
outputModel.StatusMessage = "Trainings listed successfully";
return outputModel;
}
catch (Exception ex)
{
outputModel.Data = null;
outputModel.IsSuccess = false;
outputModel.StatusMessage = ex.ToString();
return outputModel;
}
}
Код: Выделить всё
builder.Services.AddDbContext();
builder.Services.AddTransient();
builder.Services.AddScoped(typeof(IGenericRepository), typeof(GenericRepository));
builder.Services.AddScoped();
builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly()));
Подробнее здесь: https://stackoverflow.com/questions/792 ... repository
Мобильная версия