49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using YourNamespace.Entities;
|
|
using YourNamespace.Repositories;
|
|
|
|
namespace YourNamespace.Repositories.Implementations
|
|
{
|
|
public class EmployeeRepository : IEmployeeRepository
|
|
{
|
|
private readonly List<Employee> _employees = new List<Employee>();
|
|
private int _nextId = 1;
|
|
|
|
public IEnumerable<Employee> ReadEmployees()
|
|
{
|
|
return _employees;
|
|
}
|
|
|
|
public Employee ReadEmployeeById(int id)
|
|
{
|
|
return _employees.FirstOrDefault(e => e.Id == id);
|
|
}
|
|
|
|
public void CreateEmployee(Employee employee)
|
|
{
|
|
var newEmployee = Employee.CreateEntity(_nextId++, employee.FirstName, employee.LastName, employee.EmployeePost);
|
|
_employees.Add(newEmployee);
|
|
}
|
|
|
|
public void UpdateEmployee(Employee employee)
|
|
{
|
|
var existingEmployee = _employees.FirstOrDefault(e => e.Id == employee.Id);
|
|
if (existingEmployee != null)
|
|
{
|
|
var updatedEmployee = Employee.CreateEntity(existingEmployee.Id, employee.FirstName, employee.LastName, employee.EmployeePost);
|
|
_employees.Remove(existingEmployee);
|
|
_employees.Add(updatedEmployee);
|
|
}
|
|
}
|
|
|
|
public void DeleteEmployee(int id)
|
|
{
|
|
var employeeToRemove = _employees.FirstOrDefault(e => e.Id == id);
|
|
if (employeeToRemove != null)
|
|
{
|
|
_employees.Remove(employeeToRemove);
|
|
}
|
|
}
|
|
}
|
|
} |