Example #1
0
        private int _numberOfClasesWeekly; // broj casova sedmicno

        public employeeDEFINITEContract(string name, string surname, DateTime dateOfBirth, string IDnumber, int employeeID, employmentPosition_OnContract employeePosition, DateTime startOfContract, DateTime endOfContract, int numberOfClassesWeekly) : base(name, surname, dateOfBirth, IDnumber, employeeID)
        {
            if (startOfContract > endOfContract)
            {
                throw new ArgumentException("Given start date of contract is not valid");
            }

            EmployeePosition      = employeePosition;
            StartOfContract       = startOfContract;
            EndOfContract         = endOfContract;
            NumberOfClassesWeekly = numberOfClassesWeekly;

            if (employeePosition == employmentPosition_OnContract.demonstrator)
            {
                Salary = (numberOfClassesWeekly * 10) * (endOfContract - startOfContract).TotalDays;
            }
            else if (employeePosition == employmentPosition_OnContract.gostujuciPredavac)
            {
                Salary = (numberOfClassesWeekly * 15) * (endOfContract - startOfContract).TotalDays;
            }
            else if (employeePosition == employmentPosition_OnContract.strucnjakIzPrakse)
            {
                Salary = (numberOfClassesWeekly * 20) + 150;
            }
        }
Example #2
0
        public void TestMethod_definiteEmp_ValidityOfChangedData()
        {
            Faculty testFax = new Faculty("ETF");

            testFax.AddDefiniteEmployee("name", "surname", new DateTime(1970, 1, 1), "5555555555555", employmentPosition_OnContract.demonstrator, new DateTime(2017, 1, 1), new DateTime(2019, 1, 1), 10);

            testFax.ListOfDefiniteContractEmployees[0].Name = "changedName";
            string name = testFax.ListOfDefiniteContractEmployees[0].Name;

            Assert.AreEqual(name, "changedName");

            testFax.ListOfDefiniteContractEmployees[0].Surname = "changedSurname";
            string surname = testFax.ListOfDefiniteContractEmployees[0].Surname;

            Assert.AreEqual(surname, "changedSurname");

            testFax.ListOfDefiniteContractEmployees[0].DateOfBirth = new DateTime(1990, 1, 1);
            DateTime birth = testFax.ListOfDefiniteContractEmployees[0].DateOfBirth;

            Assert.AreEqual(birth, new DateTime(1990, 1, 1));

            testFax.ListOfDefiniteContractEmployees[0].IDnumber = "6666666666666";
            string ID = testFax.ListOfDefiniteContractEmployees[0].IDnumber;

            Assert.AreEqual(ID, "6666666666666");

            testFax.ListOfDefiniteContractEmployees[0].EmployeePosition = employmentPosition_OnContract.gostujuciPredavac;
            employmentPosition_OnContract position = testFax.ListOfDefiniteContractEmployees[0].EmployeePosition;

            Assert.AreEqual(position, employmentPosition_OnContract.gostujuciPredavac);

            testFax.ListOfDefiniteContractEmployees[0].StartOfContract = new DateTime(2018, 1, 1);
            DateTime contractStart = testFax.ListOfDefiniteContractEmployees[0].StartOfContract;

            Assert.AreEqual(contractStart, new DateTime(2018, 1, 1));

            testFax.ListOfDefiniteContractEmployees[0].EndOfContract = new DateTime(2021, 1, 1);
            DateTime contractEnd = testFax.ListOfDefiniteContractEmployees[0].EndOfContract;

            Assert.AreEqual(contractEnd, new DateTime(2021, 1, 1));

            testFax.ListOfDefiniteContractEmployees[0].NumberOfClassesWeekly = 15;
            int classes = testFax.ListOfDefiniteContractEmployees[0].NumberOfClassesWeekly;

            Assert.AreEqual(classes, 15);
        }
        /* Based on different parameters sent
         * in the function different type of
         * employee will be added to corresponding list.
         */
        public void AddDefiniteEmployee(string name, string surname, DateTime dateOfBirth, string IDnumber, employmentPosition_OnContract employeePosition, DateTime startOfContract, DateTime endOfContract, int numberOfClassesWeekly)
        {
            foreach (Employee x in _listOfAllEmployees)
            {
                if (x.IDnumber == IDnumber)
                {
                    throw new ArgumentException("There is already person with the same ID number in the system");
                }
            }

            int employeeID = employee_ID_start;

            employee_ID_start += 1;

            employeeDEFINITEContract input = new employeeDEFINITEContract(name, surname, dateOfBirth, IDnumber, employeeID, employeePosition, startOfContract, endOfContract, numberOfClassesWeekly);

            _listOfDefiniteContractEmployees.Add(input);
            _listOfAllEmployees.Add(input);
            _expenditure += input.Salary;
            balanceRefresh();
            if (_balance < 0)
            {
                _flag = accountBalance.negative;
            }
            else
            {
                _flag = accountBalance.pozitive;
            }
        }