Exemple #1
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            int     ID          = int.Parse(txtID.Text.Substring(2));
            Payment Editpayment = new Payment();
            double  Time        = timekeepingBO.GetData(u => u.isDelete == false && u.MSNV == MSNV && u.Date.Value.Month == int.Parse(txtMonth.Text) && u.Date.Value.Year == int.Parse(txtYear.Text)).Sum(u => u.Time);
            double  Product     = timekeepingBO.GetData(u => u.isDelete == false && u.MSNV == MSNV && u.Date.Value.Month == int.Parse(txtMonth.Text) && u.Date.Value.Year == int.Parse(txtYear.Text)).Sum(u => u.TotalWeight);

            Editpayment.cash  = timekeepingBO.GetData(u => u.isDelete == false && u.MSNV == MSNV && u.Date.Value.Month == int.Parse(txtMonth.Text) && u.Date.Value.Year == int.Parse(txtYear.Text)).Sum(u => u.AdvancePayment);
            Editpayment.payed = employeePaymentBO.GetData(u => u.isDelete == false && u.MSNV == txtMSNV.Text).Where(u => u.DATE.Value.Month == Month && u.DATE.Value.Year == Year && u.MonthOfPay == int.Parse(txtMonth.Text) && u.YearOfPay == int.Parse(txtYear.Text) && u.ID != ID).Sum(u => u.PAY);

            //GetTime month ago =>Debt
            if (Month == 1)
            {
                int count = listEpay.Where(u => u.MonthOfPay == 12 && u.YearOfPay == Year - 1).Count();
                if (count != 0)
                {
                    Editpayment.debtAgo = listEpay.Where(u => u.MonthOfPay == 12 && u.YearOfPay == Year - 1).First().NEBT;
                }
            }
            else
            {
                int count = listEpay.Where(u => u.MonthOfPay == Month - 1 && u.YearOfPay == Year).Count();
                if (count != 0)
                {
                    Editpayment.debtAgo = listEpay.Where(u => u.MonthOfPay == Month - 1 && u.YearOfPay == Year).First().NEBT;
                }
            }
            Editpayment.pay = (txtWage.Text != string.Empty ? double.Parse(txtWage.Text) : 0) + Time * int.Parse(txtMoneyOfTime.Text) + Product * int.Parse(txtMoneyOfProduct.Text) - Editpayment.cash - Editpayment.debtAgo - Editpayment.payed;

            //MessageBox.Show("Pay dau :" + payment.pay);
            double intPay = double.Parse(txtPay.Text);

            if (Editpayment.pay < 0)
            {
                Editpayment.pay = 0;
            }
            if (intPay > Editpayment.pay)
            {
                MessageBox.Show("Bạn chỉ cần chỉ cần thanh toán " + Editpayment.pay + " là đủ");
                txtPay.Text = Editpayment.pay.ToString();
            }
            else
            {
                employeePaymentBO.Update(InputEmployeePayment());
                loadDG();
                loadDetail();
                ResetForm();
                btnRemove.Enabled       = true;
                btnEdit.Visible         = false;
                btnThem.Visible         = true;
                txtEmployeeName.Enabled = true;
                TimeKeepDate            = "";
            }
        }