Example #1
0
 public void RemoveContract(HourContract contract)
 {
     Contracts.Remove(contract);
 }
Example #2
0
        static void Main(string[] args)
        {
            WorkerLevel  level;
            Department   dept;
            HourContract contracts;
            Worker       worker;

            string   deptName, name, monthAndYear;
            double   baseSalary, valuePerHour, income;
            int      n, durationInHours, month, year;
            DateTime date;

            Console.Write("Enter department's name: ");
            deptName = Console.ReadLine();
            dept     = new Department(deptName);

            Console.WriteLine("Enter worker data:");
            Console.Write("Name: ");
            name = Console.ReadLine();

            Console.Write("Level (Junior/MidLevel/Senior): ");
            level = Enum.Parse <WorkerLevel>(Console.ReadLine());

            Console.Write("Base salary: ");
            baseSalary = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            worker = new Worker(name, level, baseSalary, dept);

            Console.Write("How many contracts to this worker? ");
            n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Enter #{i} contract data:");

                Console.Write("Date (DD/MM/YYYY): ");
                date = DateTime.Parse(Console.ReadLine());

                Console.Write("Value per hour: ");
                valuePerHour = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

                Console.Write("Duration (hours): ");
                durationInHours = int.Parse(Console.ReadLine());

                contracts = new HourContract(date, valuePerHour, durationInHours);
                worker.AddContract(contracts);
            }

            Console.WriteLine();

            Console.Write("Enter month and year to calculate income (MM/YYYY): ");
            monthAndYear = Console.ReadLine();
            month        = int.Parse(monthAndYear.Substring(0, 2));
            year         = int.Parse(monthAndYear.Substring(3));

            income = worker.Income(month, year);

            Console.WriteLine("Name: " + worker.Name);
            Console.WriteLine("Department: " + worker.Department.Name);
            Console.WriteLine("Income for " + monthAndYear + ": "
                              + income.ToString("F2", CultureInfo.InvariantCulture));
        }
Example #3
0
 public void AddContract(HourContract contract)
 {
     Contracts.Add(contract);
 }
Example #4
0
        static void Main(string[] args)
        {
            #region Teste Console

            /*
             *  Enter department's name: Design
             *  Enter worker data:
             *  Name: Alex
             *  Level (Junior/MidLevel/Senior): MidLevel
             *  Base salary: 1200.00
             *  How many contracts to this worker? 3
             *  Enter #1 contract data:
             *  Date (MM/DD/YYYY): 08/20/2018
             *  Value per hour: 50.00
             *  Duration (hours): 20
             *  Enter #2 contract data:
             *  Date (DD/MM/YYYY): 06/13/2018
             *  Value per hour: 30.00
             *  Duration (hours): 18
             *  Enter #3 contract data:
             *  Date (DD/MM/YYYY): 08/25/2018
             *  Value per hour: 80.00
             *  Duration (hours): 10
             *  Enter month and year to calculate income (MM/YYYY): 08/2018
             *  Name: Alex
             *  Department: Design
             *  Income for 08/2018: 3000.00
             */
            #endregion

            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 (MM/DD/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());
                HourContract contract = new HourContract(date, valuePerHour, hours);
                worker.AddContract(contract);
            }

            Console.WriteLine();
            Console.Write("Enter month and year 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));
        }