import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { CreateEmployeeDto } from './dto/create-employee.dto';
import { UpdateEmployeeDto } from './dto/update-employee.dto';
import { Employee } from './entities/employee.entity';

@Injectable()
export class EmployeesService {
  constructor(
    @InjectRepository(Employee)
    private readonly employeeRepository: Repository<Employee>,
  ) {}

  // ✅ ใช้งานจริง
  create(createEmployeeDto: CreateEmployeeDto) {
    const newEmployee = this.employeeRepository.create(createEmployeeDto);
    return this.employeeRepository.save(newEmployee);
  }

  // ✅ ดึงพนักงานทั้งหมดจาก DB
  findAll() {
    return this.employeeRepository.find();
  }

  // ✅ ดึงพนักงานตาม ID
  findOne(id: number) {
    return this.employeeRepository.findOneBy({ EmployeeID: id });
  }

  // ✅ อัปเดตพนักงาน
  async update(id: number, updateEmployeeDto: UpdateEmployeeDto) {
    await this.employeeRepository.update(id, updateEmployeeDto);
    return this.findOne(id);
  }

  // ✅ ลบพนักงาน
  remove(id: number) {
    return this.employeeRepository.delete(id);
  }
}