예제 #1
0
        private void btnThem_Capnhat_Click(object sender, EventArgs e)
        {
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }
            #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương

            if (XL.Kiemtra(m_thang.Date, MyUtility.LastDayOfMonth(m_thang)))
            {
                MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "chỉnh sửa thu chi tháng", "thực hiện thao tác", ""),
                                Resources.Caption_ThongBao, MessageBoxButtons.OK);
                return;
            }

            #endregion


            #region lấy thông tin từ form

            int?macc = (int?)lbUserEnrollNumber.Tag;
            if (macc == null)
            {
                ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000);
                return;
            }
            double tamung = 0d, thuchiKhac = 0d, luongDieuchinh = 0d;
            float  mucDongBHXH = 0f;
            if (float.TryParse(tbMucDongBHXH.Text, out mucDongBHXH) == false)
            {
                ACMessageBox.Show("Mức đóng BHXH chưa hợp lệ. Vui lòng nhập lại.", Resources.Caption_Loi, 2000);
                return;
            }

            tamung         = Convert.ToDouble(numTamUng.Value);
            thuchiKhac     = Convert.ToDouble(numThuchiKhac.Value);
            luongDieuchinh = Convert.ToDouble(numLuongdieuchinh.Value);

            #endregion

            // thực hiện query
            int kq = DAO5.CapnhatThuchiThang((int)macc, m_thang, luongDieuchinh, tamung, thuchiKhac, mucDongBHXH);
            DAO5.GhiNhatKyThaotac("Thêm khoản thu chi tháng",
                                  string.Format("Thêm tạm ứng [{2}], lương điều chỉnh [{3}], mức đóng BHXH [{4}], thu chi khác [{5}] tháng [{0}]... cho 1 NV có mã chấm công [{1}]",
                                                m_thang.ToString("dd/MM/yyyy"), macc,
                                                tamung.ToString("###,###,###,###,###,##0"),
                                                luongDieuchinh.ToString("###,###,###,###,###,##0"),
                                                mucDongBHXH.ToString("#0.00"),
                                                thuchiKhac.ToString("###,###,###,###,###,##0")), maCC: macc);

            if (kq == 0)
            {
                MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi);
            }
            reloadGridDSThuChi();
        }
예제 #2
0
        private void btnCapNhatVaoCSDL_Click(object sender, EventArgs e)
        {
            IsReload = true;
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }

            #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương

            if (XL.Kiemtra(m_Thang.Date, MyUtility.LastDayOfMonth(m_Thang)))
            {
                MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "chỉnh sửa thu chi tháng", "thực hiện thao tác", ""),
                                Resources.Caption_ThongBao, MessageBoxButtons.OK);
                return;
            }

            #endregion


            var      table     = dgrdDThuchiExcel.DataSource as DataTable;
            DateTime thang     = m_Thang;
            var      flagError = false;

            #region xác nhận trước khi thực hiện

            if (
                MessageBox.Show(string.Format("Bạn muốn cập nhật cho tháng {0}?", thang.ToString("M/yyyy")), Resources.Caption_XacNhan,
                                MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }

            #endregion

            if (table != null)
            {
                var tableTatCaNV = XL.LayDSNV(true);                //tbd
                foreach (DataRow row in table.Rows)
                {
                    #region lấy thông tin

                    var userFullcode = row["UserFullCode"].ToString().TrimStart().TrimEnd().ToLower();
                    //var arrRows = tableTatCaNV.Select("UserFullCode = '" +userFullcode + "'","", DataViewRowState.CurrentRows);
                    var resultRow = (tableTatCaNV.Rows.Cast <DataRow>().Where(
                                         dataRow => dataRow["UserFullCode"].ToString().TrimStart().TrimEnd().ToLower() == userFullcode)).SingleOrDefault();
                    if (resultRow == null)
                    {
                        continue;
                    }
                    var tenNV             = resultRow["UserFullName"].ToString();
                    var UserEnrollNumber  = (int)resultRow["UserEnrollNumber"];
                    var luongdieuchinh    = (double)row["LuongDieuChinh"];
                    var tamung            = (double)row["TamUng"];
                    var thuchikhac        = (double)row["ThuChiKhac"];
                    var mucdongbhxhDouble = (double)row["MucDongBHXH"];
                    var mucdongbhxhFloat  = Convert.ToSingle(mucdongbhxhDouble);

                    #endregion

                    var kq = DAO5.CapnhatThuchiThang(UserEnrollNumber, thang, luongdieuchinh, tamung, thuchikhac, mucdongbhxhFloat);

                    #region báo lỗi nếu ko cập nhật được

                    if (kq == 0)
                    {
                        flagError = true;
                        ACMessageBox.Show(string.Format("Xảy ra lỗi trong quá trình cập nhật tại vị trí nhân viên {0}, mã {1}.\nVui lòng thử lại.", tenNV,
                                                        userFullcode), "Lỗi", 3000);
                        break;
                    }

                    #endregion
                }
                if (flagError == false)
                {
                    ACMessageBox.Show("Thực hiện thành công.", "Thông báo", 2000);
                }
            }
        }