38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Logging;
|
|
using PARR.DAL.Context;
|
|
using PARR.DAL.Services.Abstracts;
|
|
using PARR.DAL.Services.Interfaces.Unit;
|
|
|
|
namespace PARR.DAL.Services.Implementations.Unit
|
|
{
|
|
internal class UnitService : BaseService<Models.Unit.Unit>, IUnitService
|
|
{
|
|
private readonly DataContext dataContext;
|
|
|
|
protected override DbSet<Models.Unit.Unit> EntitySet => dataContext.Units;
|
|
|
|
protected override DataContext EntitiContext => dataContext;
|
|
|
|
public UnitService(DataContext dataContext, ILogger<UnitService> logger) : base(logger)
|
|
{
|
|
this.dataContext = dataContext;
|
|
}
|
|
|
|
|
|
public async Task<Models.Unit.Unit?> GetUnitWithFieldsAsync(string name)
|
|
{
|
|
return await GetUnitWithIncludeFields()
|
|
.FirstOrDefaultAsync(u => u.Name.ToLower() == name.ToLower());
|
|
}
|
|
|
|
|
|
private IQueryable<Models.Unit.Unit> GetUnitWithIncludeFields()
|
|
{
|
|
return EntitySet
|
|
.Include(t => t.UnitFields)
|
|
.ThenInclude(f => f.UnitField);
|
|
}
|
|
}
|
|
}
|