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

namespace PARR.DAL.Services.Implementations
{
    internal class WorkGroupService : BaseService<WorkGroup>, IWorkGroupService
    {
        private readonly DataContext dataContext;
        private readonly ILogger<WorkGroupService> logger;

        protected override DbSet<WorkGroup> EntitySet => dataContext.WorkGroups;

        protected override DataContext EntitiContext => dataContext;
        public WorkGroupService(DataContext dataContext, ILogger<WorkGroupService> logger) : base(logger)
        {
            this.dataContext = dataContext;
            this.logger = logger;
        }
        public async Task<WorkGroup?> GetByNameAsync(string name)
        {
            return await Get().FirstOrDefaultAsync(t => t.Name == name);
        }
    }
}
