using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.WebUtilities;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MTWorkHR.Application.Identity;
using MTWorkHR.Application.Mapper;
using MTWorkHR.Application.Models;
using MTWorkHR.Core.Global;
using MTWorkHR.Core.IRepositories;
using MTWorkHR.Core.UnitOfWork;
using MTWorkHR.Infrastructure.Entities;
using MTWorkHR.Application.Services.Interfaces;
using MTWorkHR.Core.Email;
using MTWorkHR.Core.Entities;
using MTWorkHR.Infrastructure.UnitOfWorks;

namespace MTWorkHR.Application.Services
{
    public class ProjectService : BaseService<Project, ProjectDto, ProjectDto>, IProjectService
    {
        private readonly IUnitOfWork _unitOfWork;
        //private readonly AppSettingsConfiguration _configuration;
        //private readonly GlobalInfo _globalInfo;

        public ProjectService(IUnitOfWork unitOfWork):base(unitOfWork)
        {
            _unitOfWork = unitOfWork;
        }


        //public override async Task<ProjectDto> GetById(long id)
        //{
        //    var entity = await _unitOfWork.Project.GetByIdAsync(id);
        //    var response = MapperObject.Mapper.Map<ProjectDto>(entity);
        //    return response;
        //}

        //public override async Task<List<ProjectDto>> GetAll()
        //{
        //    var projects = await _unitOfWork.Project.GetAllAsync();
        //    var response = MapperObject.Mapper.Map<List<ProjectDto>>(projects);
        //    return response;
        //}

        //public override async Task Delete(long id)
        //{
        //    var entity = await _unitOfWork.Project.GetByIdAsync(id);
        //    await _unitOfWork.Project.DeleteAsync(entity);
        //}



    }
}