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 }