コード例 #1
0
        public void PaySalary(MySqlConnection connection, Employee employee, int hours_worked, DateTime date)
        {
            Salary_payment salary_payment = new Salary_payment(0, DateTime.Now, hours_worked,
                                                               (decimal?)(hours_worked * employee.Qualification), employee.Id);

            Salary_paymentDAO.InsertSalary_payments(connection, new List <Salary_payment> ()
            {
                salary_payment
            });

            List <Project> projects = ProjectDAO.GetProjects(connection);
            string         Query;


            foreach (Project project in projects)
            {
                Query = "SELECT sum(Salary_payment.salary) as salary FROM Salary_payment, Employee, Team_member, Project" +
                        "WHERE Employee.Id=Salary_payment.Employee_id AND" +
                        "Employee.Id = Team_member.Employee_id AND Team_member.Project_id = Project.id " +
                        "AND Salary_payment.`date`='" + date + "' AND Project.id=" + project.Id + ";";
                MySqlCommand command = connection.CreateCommand();
                command.CommandText = Query;
                MySqlDataReader data = command.ExecuteReader();

                while (data.Read())
                {
                    project.Expenditures += Convert.ToDecimal(data["salary"]);
                }

                this.Balance -= project.Expenditures;
                PayUST(connection, project.Expenditures);
            }
            ProjectDAO.UpdateProjects(connection, projects);
        }