using System.Collections.Generic;
public class EmployeeService
public bool IsAnyEmployeeInDepartment(string department)
using (IEmployeeRepository employeeRepository = new EmployeeRepository())
List<Employee> employees = employeeRepository.GetEmployees();
foreach (var employee in employees)
if (employee.Department == department)
public bool AddEmployee(Employee employee)
if (IsEmployeeValid(employee, out string errorMessage))
using (IEmployeeRepository employeeRepository = new EmployeeRepository())
employeeRepository.Save(employee);
private bool IsEmployeeValid(Employee employee, out string errorMessage)
if(string.IsNullOrWhiteSpace(employee.Name))
errorMessage = "Name is required";
if(string.IsNullOrEmpty(employee.Department))
errorMessage = "Department is required";
public interface IEmployeeRepository : IDisposable
List<Employee> GetEmployees();
bool Save(Employee employee);
public class EmployeeRepository : IEmployeeRepository
public List<Employee> GetEmployees()
public bool Save(Employee employee)
public string Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Department { get; set; }