namespace Employees;
///
/// Represents an employee who performs physical labor
///
public sealed class Worker : Employee
{
///
/// The absolute maximum of hours worked per month
///
public const int MaxMonthlyWorkHours = 16 * 31;
private decimal _hourlyWage;
private double _hours;
///
/// Creates a new worker.
/// Working hours and hourly wage has to be set additionally for meaningful function.
///
/// Name of the worker
/// Gender of the worker
/// Department the worker works at
public Worker(string name, Gender gender, string department)
: base(name, gender, department) { }
///
/// Creates a new worker
///
/// Name of the worker
/// Gender of the worker
/// Department the worker works at
/// Hours worked per month
/// Wage per hour worked
public Worker(string name, Gender gender, string department, double hours, decimal hourlyWage)
: this(name, gender, department)
{
// TODO
}
///
/// Gets or sets the monthly worked hours.
/// Cannot be negative or exceed .
///
public double Hours
{
get => _hours;
set => _hours = -1D; // TODO
}
///
/// Gets or sets the wage per hour worked.
/// Cannot be negative.
///
public decimal HourlyWage
{
get => _hourlyWage;
set => _hourlyWage = -1M; // TODO
}
public override decimal Salary => -1M; // TODO
public override string ToString() => string.Empty; // TODO
}