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 ApplicationsInWorkService : BaseService<ApplicationsInWork>, IApplicationsInWorkService
    {
        private readonly DataContext dataContext;
        private readonly ILogger<ApplicationsInWorkService> logger;

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


        protected override DbSet<ApplicationsInWork> EntitySet => dataContext.ApplicationsInWorks;

        protected override DataContext EntitiContext => dataContext;

        public async Task<ApplicationsInWork?> GetAsync(Guid applicationId, Guid workId)
        {
            return await base.Get().FirstOrDefaultAsync(t => t.ApplicationId == applicationId && t.WorkId == workId);
        }
    }
}
