public double Income(int year, int month) { List <HourContract> lstHourContract = HourContracts.FindAll(x => x.Date.Year == year && x.Date.Month == month); double resultado = 0.00; foreach (HourContract item in lstHourContract) { resultado += item.TotalValue(); } return(resultado); }
static void Main(string[] args) { Console.Write("Enter department's name: "); string deptName = Console.ReadLine(); Console.WriteLine("Enter worker data: "); Console.Write("Name: "); string name = Console.ReadLine(); Console.Write("Level (Junior/MidLevel/Senior): "); WorkerLevel level = Enum.Parse <WorkerLevel>(Console.ReadLine()); Console.Write("Base salary: "); double baseSalary = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); Department dept = new Department(deptName); Worker worker = new Worker(name, level, baseSalary, dept); Console.Write("How many contracts to this worker? "); int n = int.Parse(Console.ReadLine()); for (int i = 1; i <= n; i++) { Console.WriteLine($"Enter #{i} contract data: "); Console.Write("Date (DD/MM/YYYY): "); DateTime date = DateTime.Parse(Console.ReadLine()); Console.Write("Value per hour: "); double valuePerHour = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); Console.Write("Duration (hours): "); int hours = int.Parse(Console.ReadLine()); HourContracts contract = new HourContracts(date, valuePerHour, hours); worker.AddContract(contract); } Console.WriteLine(); Console.Write("Enter month and year and to calculate income (MM/YYYY): "); string monthAndYear = Console.ReadLine(); int month = int.Parse(monthAndYear.Substring(0, 2)); int year = int.Parse(monthAndYear.Substring(3)); Console.WriteLine("Name: " + worker.Name); Console.WriteLine("Department: " + worker.Department.Name); Console.WriteLine("Income for " + monthAndYear + ": " + worker.Income(year, month).ToString("F2", CultureInfo.InvariantCulture)); }