using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.DAL.Context;
using PARR.DAL.Models.Unit;
using PARR.DAL.Services.Abstracts;
using PARR.DAL.Services.Interfaces.Unit;

namespace PARR.DAL.Services.Implementations.Unit
{
    internal class UnitFieldService : BaseService<UnitField>, IUnitFieldService
    {
        private readonly DataContext dataContext;

        protected override DbSet<UnitField> EntitySet => dataContext.UnitFields;

        protected override DataContext EntitiContext => dataContext;

        public UnitFieldService(DataContext dataContext, ILogger<UnitFieldService> logger) : base(logger)
        {
            this.dataContext = dataContext;
        }

        public async Task<UnitField?> GetByAihitNameAsync(string name)
        {
            return await EntitySet.FirstOrDefaultAsync(uf => uf.AihitName.ToLower().Trim() == name.ToLower().Trim());
        }
    }
}
