コード例 #1
0
        /*
         *              public static void UpdInsDSNVKetluongThang(List<cUserInfo> mDsnv, DateTime ngaydauthang) {
         *                      foreach (var nv in mDsnv) {
         *                              int kq = DAO.UpdInsNVKetluongThang(ngaydauthang, nv.MaCC, nv.HeSo.LuongCB, nv.HeSo.LuongCV, nv.HeSo.BHCongThem_ChoGD_PGD, //tbd BHXH_YT_TN
         *                                      nv.PhongBan.ID, nv.PhongBan.Ten, nv.PhongBan.ViTri, nv.PhongBan.idParent, nv.IDChucVu, nv.ChucVu);
         *                      }
         *              }
         *
         */

        public static bool Kiemtra(DateTime ngayBD, DateTime ngayKT)
        {
            ngayBD = new DateTime(ngayBD.Year, ngayBD.Month, 1);
            ngayKT = new DateTime(ngayKT.Year, ngayKT.Month, 1);
            if (ngayBD > ngayKT)
            {
                MyUtility.Swap(ref ngayBD, ref ngayKT);
            }
            var query = " select Thang from ThongSoKetLuongThang where Thang >= @ThangBD and Thang <= @ThangKT ";
            var table = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@ThangBD", "@ThangKT" }, new object[] { ngayBD, ngayKT });

            if (table.Rows.Count == 0)
            {
                return(false);
            }
            return(true);
        }
コード例 #2
0
ファイル: SqlDataAccessTests.cs プロジェクト: joskraps/tiddly
        public async Task GetFromStatementWithDataSetWithStringReturnAsync()
        {
            var da     = new SqlDataAccess(ConnectionString);
            var helper = new SqlDataAccessHelper();

            helper.SetRetrievalMode(DataActionRetrievalType.DataSet);
            helper.AddStatement(
                "select top 1 name from sys.databases where name in (@master,@model,@msdb) order by 1 asc");
            helper.AddParameter("master", "master", SqlDbType.VarChar);
            helper.AddParameter("model", "model", SqlDbType.VarChar);
            helper.AddParameter("msdb", "msdb", SqlDbType.VarChar);

            var returnValue = await da.GetAsync <string>(helper);

            this.OutputTestTimings(helper.ExecutionContext);
            Assert.AreEqual(returnValue, "master");
        }
コード例 #3
0
        private void frmSetupShift_Load(object sender, EventArgs e)
        {
            dgrdDSCa.AutoGenerateColumns = false;

            #region kiểm tra kết nối csdl trước
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 4000);
                this.Close();
                return;
            }
            #endregion

            LoadGrid();
            dgrdDSCa.ClearSelection();
            dgrdDSCa.SelectionChanged += dgrdDSCa_SelectionChanged;
        }
コード例 #4
0
        public static bool CheckLogIn(string tempUsername, string tempPassword, string passroot,
                                      ref string tmpConnStr, ref int loaiTK, ref int currUserID, ref string currUserAccount)
        {
            var kqDocFile = KiemtraDocFileKetnoiDL(Settings.Default.ConnectionStringPath, ref tmpConnStr);
            var kq        = false;

            if (!kqDocFile)               // ko đọc được file thì trả về false
            {
                return(false);
            }

            // đọc được file thành công, kiểm tra kết nối csdl
            if (SqlDataAccessHelper.TestConnection(tmpConnStr) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return(false);
            }

            // kết nối csdl thành công, kiểm tra loại tài khoản
            SqlDataAccessHelper.ConnectionString = tmpConnStr;
            if (tempUsername == "root" && tempPassword == passroot)               //log in bằng tài khoản root
            {
                currUserID      = int.MaxValue;
                currUserAccount = tempUsername;
                loaiTK          = 1;
                kq = true;
            }
            else              // kiểm tra login bằng tài khoản thường
            {
                string    passEncrypt = MyUtility.Mahoa(tempPassword);
                DataTable dt          = DAO5.LogIn(tempUsername, passEncrypt);
                if (dt.Rows.Count != 0)                   // tài khoản thường ->
                {
                    currUserID      = (int)dt.Rows[0]["UserID"];
                    currUserAccount = dt.Rows[0]["UserAccount"].ToString();
                    loaiTK          = 0;
                    kq = true;
                }
                else
                {
                    MessageBox.Show(Resources.Text_Acc_Pass_incorrect, Resources.Caption_ThongBao, MessageBoxButtons.OK);
                    kq = false;
                }
            }
            return(kq);
        }
コード例 #5
0
 private int ExecuteUpdateGio(int pUserEnrollNumber, DateTime pTimeStrOld, DateTime temp_TimeStrNew)
 {
     return(SqlDataAccessHelper.ExecNoneQueryString(
                UpdateStringSuaGioVaoRa()
                , new[] {
         "@UserEnrollNumber"
         , "@TimeStr_Old"
         , "@TimeDate_New"
         , "@TimeStr_New"
     }
                , new object[] {
         pUserEnrollNumber
         , pTimeStrOld                                         //[TBD]@TimeStr_Old
         , temp_TimeStrNew.Date                                //[TBD]@TimeDate_New
         , temp_TimeStrNew                                     // [TBD]@TimeStr_New
     }));
 }
コード例 #6
0
        private void btnXoaTK_Click(object sender, EventArgs e)
        {
            string tempTenTK    = tbTenTaiKhoan.Text;
            string deleteString = @" delete NewUserAccount where UserAccount = @UserAccount ";

            try {
                int kq = SqlDataAccessHelper.ExecNoneQueryString(deleteString, new[] { "@UserAccount" }, new object[] { tempTenTK });
                if (kq != 0)
                {
                    MessageBox.Show("Xóa tài khoản thành công.", "Thông báo", MessageBoxButtons.OK);
                }
                Load_cbTaikhoanWE();
                Load_dataGridNewUserAccount();
            } catch (Exception ex) {
                MessageBox.Show("Không xóa tài khoản được.\nLỗi:" + ex.ToString(), "Lỗi", MessageBoxButtons.OK);
            }
        }
コード例 #7
0
        /// <summary>
        /// lấy danh sách tài khoản mà UserID hiện tại được phép thao tác nằm trong giới hạn tài khoản login được phép thao tác
        /// </summary>
        /// <param name="UserID"></param>
        /// <param name="currUserID"></param>
        /// <returns></returns>
        private DataTable LayDSCacPhongban(int UserID, int currUserID)
        {
            string query = string.Empty;

            query += @"	select RelationDept.ID, RelationDept.Description, RelationDept.RelationID, DeptPrivilege.IsYes 
						from RelationDept, DeptPrivilege
						where DeptPrivilege.IDD = RelationDept.ID						
						and DeptPrivilege.UserID = @UserID
                        and RelationDept.ID IN      ( select RelationDept.ID
						                            from RelationDept, DeptPrivilege
						                            where DeptPrivilege.IDD = RelationDept.ID						
						                            and DeptPrivilege.UserID = @UserID_LoggedIn )"                        ;
            DataTable kq;

            kq = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@UserID", "@UserID_LoggedIn" }, new object[] { UserID, currUserID });
            return(kq);
        }
コード例 #8
0
        public static DataTable LayDSCa()
        {
            const string query = @"	SELECT	ShiftID,ShiftCode,Onduty,Offduty,DayCount,OnTimeIn,OnTimeOut,CutIn,CutOut
										,OnLunch,OffLunch, DATEDIFF(MINUTE, 0, Shifts.Onduty) as OndutyMinute, DATEDIFF(MINUTE, 0, Shifts.Offduty) as OffdutyMinute
										,WorkingTime,Workingday,LateGrace,EarlyGrace,AfterOT,ShowPosition,KyHieuCC
										,Description, IsEnabled, IsExtended, IsSplited, ShiftID1, ShiftID2
										,StartNT,EndNT
								FROM	Shifts 
								group by Onduty,Offduty,ShiftID,ShiftCode,DayCount,OnTimeIn,OnTimeOut,CutIn,CutOut
										,OnLunch,OffLunch
										,WorkingTime,Workingday,LateGrace,EarlyGrace,AfterOT,ShowPosition,KyHieuCC
										,Description, IsEnabled, IsExtended, IsSplited, ShiftID1, ShiftID2
										,StartNT,EndNT"                                        ; //ver 4.0.0.4	StartNT,EndNT
            var          kq    = SqlDataAccessHelper.ExecuteQueryString(query, null, null);

            return(kq);
        }
コード例 #9
0
        private void btnXoaKBVang_Click(object sender, EventArgs e)
        {
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }

            #region chưa chọn nhân viên thì báo
            var listMaCC_NV = (from DataGridViewRow dataGridViewRow in dgrdTongHop.SelectedRows
                               let row = (DataRowView)dataGridViewRow.DataBoundItem
                                         select(int) row["UserEnrollNumber"]).ToList();
            if (listMaCC_NV.Count == 0)
            {
                ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000);
                return;
            }

            #endregion

            if (MessageBox.Show(string.Format("Xoá tất cả khai báo vắng ngày {0} của các nhân viên được chọn?", dtpNgay.Value.Date.ToString("dddd dd/MM/yyyy")),
                                Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }
            IEnumerable <dynamic> templist = (from macc in listMaCC_NV
                                              select new { MaCC = macc, NgayVang = dtpNgay.Value.Date });
            string query = " delete from Absent where UserEnrollNumber = @UserEnrollNumber and TimeDate = @TimeDate ";
            try
            {
                foreach (dynamic obj in templist)
                {
                    SqlDataAccessHelper.ExecNoneQueryString(
                        query,
                        new string[] { "@UserEnrollNumber", "@TimeDate" },
                        new object[] { obj.MaCC, obj.NgayVang });
                    DAO.GhiNhatKyThaotac("Xoá các khai báo vắng trong ngày",
                                         string.Format("Xoá tất cả khai báo vắng của NV có mã chấm công [{0}] trong ngày [{1}]", (int)obj.MaCC, ((DateTime)obj.NgayVang).ToString("dd/MM/yyyy")), maCC: (int)obj.MaCC);
                }
            }
            catch (Exception ex)
            {
                lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), ex);
                MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi);
            }
            dtpNgay_ValueChanged(null, null);
        }
コード例 #10
0
        private void frmCapNhatNVHangLoat_Load(object sender, EventArgs e)
        {
            List <cPhongBan> dspb = new List <cPhongBan>();

            XL.KhoiTaoDSPhongBan(dspb);
            XL.loadTreePhgBan(treePhongBan, XL2.TatcaPhongban, dspb);

            cbChucVu.DataSource    = DAO.LoadDataSourceChucVu(false);
            cbChucVu.DisplayMember = "ChucVu";
            cbChucVu.ValueMember   = "IDChucVu";

            var tableLichTrinh = SqlDataAccessHelper.ExecuteQueryString("select * from Schedule");

            cbLichTrinh.DataSource    = tableLichTrinh;
            cbLichTrinh.DisplayMember = "SchName";
            cbLichTrinh.ValueMember   = "SchID";
        }
コード例 #11
0
        private void frmQLLuongCongNhat_Load(object sender, EventArgs e)
        {
            groupBox1.Text = string.Format(groupBox1.Text, m_thang.ToString("MM/yyyy"));            // danh sách nhân viên chi công nhật tháng {0}
            #region kiểm tra kết nối csdl, mất kết nối thì thoát

            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 4000);
                return;
            }

            #endregion
            // load danh sách nv tính lương công nhật trong tháng
            m_OriginTableCongNhat          = DAO.LayTableCongNhat(m_thang);
            dgrdDSLuongCongnhat.DataSource = m_OriginTableCongNhat;
            dgrdDSLuongCongnhat.ClearSelection();
        }
コード例 #12
0
        private void btnTaoTK_Click(object sender, EventArgs e)
        {
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }

            if (tbPass1.Text != tbPass2.Text)
            {
                MessageBox.Show("Mật khẩu không khớp.");
                return;
            }
            if (tbPass1.Text == string.Empty || tbPass2.Text == string.Empty)
            {
                MessageBox.Show("Mật khẩu không được để trống.");
                return;
            }

            string insertString = " insert into NewUserAccount(UserID, UserAccount, Password) values (@UserID, @UserAccount, @password) ";

            int tempUserID = (int)cbTaikhoanWE.SelectedValue;

            string tempUserAccount = cbTaikhoanWE.SelectedItem.ToString();
            string tempPass        = tbPass1.Text;
            string tempPassEncrypt = MyUtility.Mahoa(tempPass);

            try {
                int kq = SqlDataAccessHelper.ExecNoneQueryString(insertString
                                                                 , new[] { "@UserID", "@UserAccount", "@password" }
                                                                 , new object[] { tempUserID, tempUserAccount, tempPassEncrypt }, CanLog: false);
                if (kq != 0)
                {
                    MessageBox.Show("Thêm tài khoản thành công.", "Thông báo", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("Không thêm được tài khoản.", "Lỗi", MessageBoxButtons.OK);
                }
                Load_dataGridNewUserAccount();
                Load_cbTaikhoanWE();
            } catch (Exception exception) {
                lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), exception);
                MessageBox.Show("Mất kết nối đến máy chủ. Vui lòng thử lại.", "Lỗi", MessageBoxButtons.OK);
            }
        }
コード例 #13
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            //hiển thị form và nhận kết quả trả về
            frmNhapThongTinPhong frm = new frmNhapThongTinPhong();

            frm.m_CurrentDataRow = (DataRow)treePhongBan.SelectedNode.Tag;
            frm.m_Mode           = ModeType.Them;
            frm.ShowDialog();
            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }

            //sử dụng kết quả trả về thêm vào CSDL
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }
            #region test
            ACMessageBox.Show(string.Format("{0};RID {1};LID {2};VT {3};E {4}",
                                            frm.m_TenPhong,
                                            (int)frm.m_ParentDataRow["RelationID"],
                                            (int)frm.m_ParentDataRow["LevelID"] + 1,
                                            frm.m_VitriPhong, frm.m_Enable), "", 5000);
            loadTreePhgBan(treePhongBan);
            //return;
            #endregion

            if (SqlDataAccessHelper.ExecSPNoneQuery(SPName6.RelationDept_ThemPhongV6.ToString(),
                                                    new SqlParameter("@Description", frm.m_TenPhong),
                                                    new SqlParameter("@RelationID", (int)frm.m_ParentDataRow["ID"]),
                                                    new SqlParameter("@LevelID", (int)frm.m_ParentDataRow["LevelID"] + 1),//+1 vì là con của phòng trực thuộc
                                                    new SqlParameter("@ViTri", frm.m_VitriPhong),
                                                    new SqlParameter("@Enable", frm.m_Enable)) == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            else             //thêm thành công load lại tree
            {
                loadTreePhgBan(treePhongBan);
                treePhongBan.ExpandAll();
            }
        }
コード例 #14
0
        private void btnXem_Click(object sender, EventArgs e)
        {
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                AutoClosingMessageBox.Show("Mất kết nối với CSDL. Vui lòng thử lại sau.", "Lỗi", 2000);
                return;
            }
            //1. lấy dữ liệu từ form

            #region lấy ngày BD và kết thúc nếu quá 62 ngày thì báo

            dtpNgayBD.Update();
            dtpNgayKT.Update();
            var ngayBD = dtpNgayBD.Value.Date;
            var ngayKT = dtpNgayKT.Value.Date;
            #endregion


            BindingContext[dgrdDSNVTrgPhg.DataSource].EndCurrentEdit();
            //2. lấy danh sách nhân viên check, nếu chưa có nv nào check thì thông báo
            IEnumerable <DataGridViewRow> lstGridViewRow = dgrdDSNVTrgPhg.Rows.Cast <DataGridViewRow>();
            var listNV = (from row in (lstGridViewRow)
                          where ((DataRowView)row.DataBoundItem)["check"] != DBNull.Value && (bool)((DataRowView)row.DataBoundItem)["check"]
                          select(cUserInfo)((DataRowView)row.DataBoundItem).Row["cUserInfo"]).ToList();

            if (listNV.Count == 0)
            {
                AutoClosingMessageBox.Show("Bạn chưa chọn Nhân viên", "Thông báo", 2000);
                GC.Collect();
                return;
            }

            /*m_Bang_TongHopXemCong.Rows.Clear();
             * m_Bang_GioKDQD.Rows.Clear();
             * m_Bang_GioThieuCheck.Rows.Clear();*/
            m_Bang_PH_Them.Rows.Clear();
            XL.LayBang_PH_Them(listNV, ngayBD, ngayKT, ref m_Bang_PH_Them);
            XL.LayBang_PH_Xoaa(listNV, ngayBD, ngayKT, ref m_Bang_PH_Xoaa);
            XL.LayBang_PH_GioGoc(listNV, ngayBD, ngayKT, ref m_Bang_PH_GioGoc);
            XL.LayBang_GioDaXN(listNV, ngayBD, ngayKT, ref m_Bang_GioDaXN);
            dgrdPH_Them.DataSource   = m_Bang_PH_Them;
            dgrdPH_Xoaa.DataSource   = m_Bang_PH_Xoaa;
            dgrdPH_GioGoc.DataSource = m_Bang_PH_GioGoc;
            dgrdGioDaXN.DataSource   = m_Bang_GioDaXN;
        }
コード例 #15
0
 private void XuLyXoaLichTrinh(List <int> ListIDLichTrinh)
 {
     if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
     {
         ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
         return;
     }
     // thực hiện xóa lịch trình => LOGIC xóa lịch trình cũng đồng nghĩa xóa luôn các ca làm việc theo lịch trình này.
     foreach (int id in ListIDLichTrinh)
     {
         int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.Other_XoaLichTrinhV6.ToString(), new SqlParameter("@SchID", id));
         if (kq == 0)
         {
             ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
             return;
         }
     }
 }
コード例 #16
0
ファイル: SqlDataAccessTests.cs プロジェクト: joskraps/tiddly
        public void FillFromProcedureWithDataReaderWithObjectReturnBadProcedureName()
        {
            var da     = new SqlDataAccess(ConnectionString);
            var helper = new SqlDataAccessHelper();

            helper.SetRetrievalMode(DataActionRetrievalType.DataReader);
            helper.AddProcedure("sp_helpxxx");

            try
            {
                var values = da.Fill <DbHelpModel>(helper);
                Assert.Fail("Procedure does not exist and should throw an exception");
            }
            catch (Exception e)
            {
                Assert.IsTrue(e.Message == "Could not find stored procedure \'dbo.sp_helpxxx\'.");
            }
        }
コード例 #17
0
        private void Load_cbTaikhoanWE()
        {
            try {
                DataTable dataTable = SqlDataAccessHelper.ExecuteQueryString(
                    @"  select UserID, UserAccount from UserAccount 
						where UserAccount not in (select NewUserAccount.UserAccount from NewUserAccount)"                        , null, null);
                cbTaikhoanWE.DisplayMember = "UserAccount";
                cbTaikhoanWE.ValueMember   = "UserID";
                cbTaikhoanWE.DataSource    = dataTable;
                tbPass1.Text = tbPass2.Text = string.Empty;
                if (dataTable == null || dataTable.Rows.Count == 0)
                {
                    btnTaoTK.Enabled = false;
                }
            } catch (Exception exception) {
                throw exception;
            }
        }
コード例 #18
0
        private void btnXoaTK_Click(object sender, EventArgs e)
        {
            string tempTenTK    = tbTenTaiKhoan.Text;
            string deleteString = @" delete NewUserAccount where UserAccount = @UserAccount ";

            try {
                int kq = SqlDataAccessHelper.ExecNoneQueryString(deleteString, new[] { "@UserAccount" }, new object[] { tempTenTK });
                if (kq != 0)
                {
                    MessageBox.Show("Xóa tài khoản thành công.", "Thông báo", MessageBoxButtons.OK);
                }
                Load_cbTaikhoanWE();
                Load_dataGridNewUserAccount();
            } catch (Exception ex) {
                lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), ex);
                MessageBox.Show("Không xóa tài khoản được.", "Lỗi", MessageBoxButtons.OK);
            }
        }
コード例 #19
0
        public static bool KiemtraDulieuCapnhatTuServer(DateTime now)
        {
            //logic lấy thời gian MAX nguồn từ máy chấm công, nếu ko có dữ liệu trả về MinValue
            // trong vòng 7 tiếng trước ko có chấm công nghĩa là chưa lấy dữ liệu từ máy chấm công về
            const string query         = @"	SELECT	MAX(CheckInOut.TimeStr) FROM CheckInOut WHERE OriginType != N'PC' and MachineNo != 21 and MachineNo != 22";
            var          kq            = SqlDataAccessHelper.ExecuteQueryString(query, null, null);
            var          lastCheckTime = DateTime.MinValue;

            if (kq.Rows.Count != 0)
            {
                if (kq.Rows[0][0] != DBNull.Value)
                {
                    lastCheckTime = (DateTime)kq.Rows[0][0];
                }
            }

            return(lastCheckTime != DateTime.MinValue && now - lastCheckTime <= XL2._07h00);
        }
コード例 #20
0
        public static DataTable LietKeNgayVangChoNV(List <int> arrDSNVCheck, DateTime ngayBD, DateTime ngayKT)
        {
            var query = @"	SELECT      ID, UserInfo.UserEnrollNumber, UserInfo.UserFullCode, UserInfo.UserFullName, TimeDate, 
										LoaiVang.AbsentCode, LoaiVang.AbsentDescription, Thang, Nam, Absent.Workingday, Absent.WorkingTime, Absent.PhuCap 
							 FROM        Absent, LoaiVang , UserInfo 
							 WHERE      (Absent.AbsentCode = LoaiVang.AbsentCode)
									and (UserInfo.UserEnrollNumber = Absent.UserEnrollNumber)
									and (TimeDate >= @NgayBD and TimeDate <= @NgayKT)
									and (UserInfo.UserEnrollNumber = {0} )
							 ORDER BY    UserInfo.UserEnrollNumber ASC,Nam DESC, Thang DESC, TimeDate ASC "                            ;

            query = String.Format(query, String.Join(" or UserInfo.UserEnrollNumber = ", arrDSNVCheck.ToArray()));
            DataTable table = SqlDataAccessHelper.ExecuteQueryString(query
                                                                     , new string[] { "@NgayBD", "@NgayKT" }
                                                                     , new object[] { ngayBD, ngayKT });

            return(table);
        }
コード例 #21
0
        public static int UpdIns_TinhPCDB(int macc, DateTime ngay, int loai, int pcngay, int pcdem, string noidungLog)
        {
            var query = @"	
update		XacNhanPC set LoaiPC = @loai, Duyet = 1 
where		Ngay = @Ngay and UserEnrollNumber = @UserEnrollNumber 
if @@ROWCOUNT=0 
insert into XacNhanPC	(UserEnrollNumber, Ngay,LoaiPC,PCNgay, PCDem,Duyet)
values (@UserEnrollNumber, @Ngay,@loai,@PCNgay, @PCDem,1)";
            var n     = SqlDataAccessHelper.ExecNoneQueryString(query, new string[] { "@loai", "@Ngay", "@UserEnrollNumber", "@PCNgay", "@PCDem" },
                                                                new object[] { loai, ngay, macc, pcngay, pcdem });

            string noidung = "Xác nhận [{0}] tính phụ cấp {1} ngày [{2}] cho NV có mã chấm công [{3}]";

            noidung = string.Format(noidung, "CÓ", noidungLog, ngay.ToString("dd/MM/yyyy"), macc);
            DAO.GhiNhatKyThaotac("Xác nhận phụ cấp làm việc ngày nghỉ, trực lễ, tết", noidung, maCC: macc);

            return(n);
        }
コード例 #22
0
        private void fmXemCong4_Load(object sender, EventArgs e)
        {
            #region kiểm tra kết nối csdl , nếu mất kết nối thì đóng
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 4000);
                Close();
                return;
            }
            #endregion

            /* 1. load tree phòng ( datasource cho checkComboEdit chọn nv do hàm treeAfterselect tạo
             * 2.
             * 3. set tháng khi load lần đầu
             */
            XL.loadTreePhgBan(treePhongBan);
            treePhongBan.AfterSelect += treePhongBan_AfterSelect;
        }
コード例 #23
0
        private void frm_32_XemLichSu_Load(object sender, EventArgs e)
        {
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                this.Close();
                return;
            }

            var table = SqlDataAccessHelper.ExecuteQueryString("select UserID,UserAccount from NewUserAccount");

            cbTaiKhoanThucHien.ValueMember   = "UserID";
            cbTaiKhoanThucHien.DisplayMember = "UserAccount";
            cbTaiKhoanThucHien.DataSource    = table;

            dtpStartThoiDiemSua.Value = DateTime.Today;
            dtpEndddThoiDiemSua.Value = DateTime.Now;
        }
コード例 #24
0
        public static bool ThemNgayVang(int MaCC, DateTime ngayVang, float workingDay, float workingTime, float PhuCapVang, string absentCode)
        {
            #region query

/*
 *                      var queryIns = @"
 * IF EXISTS (	SELECT ID FROM Absent
 *                      WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate
 *                                      and WorkingTime = 4 and WorkingTime = @WorkingTime )
 *      UPDATE Absent SET Workingday = @NewWorkingday, WorkingTime = @NewWorkingTime
 *      WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate
 *                      and WorkingTime = 4  and WorkingTime = @WorkingTime
 * ELSE
 * INSERT INTO Absent (UserEnrollNumber,   TimeDate,  AbsentCode, Thang, Nam, Workingday, WorkingTime)
 *              VALUES		  (@UserEnrollNumber,  @TimeDate, @AbsentCode,@Thang,@Nam,@Workingday,@WorkingTime)
 * ";
 */
            var queryIns = @"	
IF EXISTS (	SELECT ID FROM Absent 
			WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate	
					and WorkingTime = 4 and WorkingTime = @WorkingTime )
	UPDATE Absent SET	Workingday = Workingday + @Workingday, WorkingTime = WorkingTime + @WorkingTime, 
						PhuCap = CAST(ISNULL(PhuCap,0) as real) + @PhuCap
	WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate 
			and WorkingTime = 4  and WorkingTime = @WorkingTime 
ELSE
	INSERT INTO Absent (UserEnrollNumber,   TimeDate,  AbsentCode, Thang, Nam, Workingday, WorkingTime, PhuCap) 
		VALUES		  (@UserEnrollNumber,  @TimeDate, @AbsentCode,@Thang,@Nam,@Workingday,@WorkingTime,@PhuCap) 
";
            #endregion

            //info ghép 2 cái nửa thành 1
            int kq = SqlDataAccessHelper.ExecNoneQueryString(
                queryIns,
                new string[] { "@UserEnrollNumber", "@TimeDate", "@AbsentCode", "@Thang", "@Nam",
                               "@Workingday", "@WorkingTime", "@PhuCap", },
                new object[] { MaCC, ngayVang, absentCode, ngayVang.Month, ngayVang.Year,
                               workingDay, workingTime, PhuCapVang });
            string noidung = "Thêm xin phép vắng [{0}] [{1}] ngày [{2}], phụ cấp [{3}] cho NV có mã chấm công [{4}]";

            DAO.GhiNhatKyThaotac("Thêm xin phép vắng",
                                 string.Format(noidung, absentCode, workingDay.ToString("0.0"), (ngayVang).ToString("dd/MM/yyyy"), PhuCapVang.ToString("0.00"), MaCC), maCC: MaCC);
            return(true);
        }
コード例 #25
0
        private void btnThucHien_Click(object sender, EventArgs e)
        {
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                AutoClosingMessageBox.Show("Mất kết nối với CSDL. Vui lòng thử lại sau.", "Lỗi", 2000);
                return;
            }

            IsReload = true;
            var luongdieuchinh = (Double)numLuongDieuChinh.Value;
            var tamung         = (Double)numTamUngThang.Value;
            var thuchikhac     = (Double)numThuChiKhac.Value;
            var mucdongbhxh    = 0f;

            if (Single.TryParse(tbMucDongBH.Text, out mucdongbhxh) == false)
            {
                AutoClosingMessageBox.Show("Mức đóng BHXH không hợp lệ. Vui lòng nhập lại.", "Thông báo", 4000);
                return;
            }
            var thang = dtpThang.Value;

            var flagError = false;

            foreach (var row in Row)
            {
                var UserEnrollNumber = (int)row["UserEnrollNumber"];
                var UserFullCode     = row["UserFullCode"].ToString();
                var tennv            = (row["UserFullName"].ToString());
                var kq = DAO.DAL.CapNhatLuongDieuChinh_TamUng_ThuChiKhac(UserEnrollNumber, thang.Month, thang.Year, luongdieuchinh, tamung, thuchikhac, mucdongbhxh);
                if (kq == 0)
                {
                    flagError = true;
                    AutoClosingMessageBox.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;
                }
            }
            if (flagError == false)
            {
                AutoClosingMessageBox.Show("Thực hiện thành công.", "Thông báo", 2000);
                this.Close();
            }
        }
コード例 #26
0
        private void treePhongBan_AfterSelect(object sender, TreeViewEventArgs e)
        {
            #region kiểm tra kết nối csdl , nếu mất kết nối thì đóng

            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                Close();
                return;
            }

            #endregion

            #region mỗi lần chọn node thì lấy ID node hiện tại và tất cả node con

            m_listIDPhongBan.Clear();
            if (e.Node.FirstNode != null)
            {
                XL.GetIDNodeAndChildNode(e.Node, ref m_listIDPhongBan);
            }
            else
            {
                var temp = ((cPhongBan)e.Node.Tag);
                if (temp.ChoPhep)
                {
                    m_listIDPhongBan.Add(temp.ID);
                }
            }
            e.Node.Expand();

            #endregion

            XL.KhoiTaoDSNV_ChamCong(m_DSNV, m_listIDPhongBan, m_DSPhg);

            XL.TaoTableDSNV(m_DSNV, m_Bang_DSNV);

            var dataView = dgrdDSNVTrgPhg.DataSource as DataView;
            if (dataView != null)
            {
                dataView.RowFilter = string.Empty;
            }

            checkAll_GridDSNV.Checked = false;
        }
コード例 #27
0
        public static DataTable LayTableXPVang(DateTime ngayBD, DateTime ngayKT, int[] ArrDSMaCC_Checked)
        {
            var query = @"   SELECT      ID, UserInfo.UserEnrollNumber, UserInfo.UserFullCode, UserInfo.UserFullName
											, TimeDate, LoaiVang.AbsentCode, LoaiVang.AbsentDescription
											, Thang, Nam, Absent.Workingday, Absent.WorkingTime , Absent.PhuCap
								FROM        Absent, LoaiVang , UserInfo 
								WHERE      (Absent.AbsentCode = LoaiVang.AbsentCode)
										and (UserInfo.UserEnrollNumber = Absent.UserEnrollNumber)
										and (TimeDate >= @NgayBD and TimeDate <= @NgayKT)
										and ( UserInfo.UserEnrollNumber = {0} )
								ORDER BY    UserInfo.UserEnrollNumber ASC,Nam DESC, Thang DESC, TimeDate ASC "                                ;

            query = String.Format(query, String.Join(" or UserInfo.UserEnrollNumber = ", ArrDSMaCC_Checked));
            var tableVang = SqlDataAccessHelper.ExecuteQueryString(query
                                                                   , new string[] { "@NgayBD", "@NgayKT" }
                                                                   , new object[] { ngayBD, ngayKT });

            return(tableVang);
        }
コード例 #28
0
        public static int UpdCa(int shiftid, string shiftcode, TimeSpan OnnDuty, TimeSpan OffDuty, int DayCount, int wktime, float wkday, int iOnnInn, int iCutInn, int iOnnOut, int iCutOut, int cptre, int cpsom, int afterot, string mota, string kyhieucc, TimeSpan OnnLun, TimeSpan OffLun, bool tachcadem, int shiftid1, int shiftid2, bool isenable, bool isextended)
        {
            var query = @"	update Shifts
							set ShiftCode= @shiftcode   , Onduty=  @OnnDuty  , Offduty=  @OffDuty  , DayCount= @DayCount , WorkingTime=  @wktime  , Workingday=  @wkday  , 
							OnTimeIn= @iOnnInn  , CutIn=  @iCutInn  , OnTimeOut= @iOnnOut , CutOut= @iCutOut  , LateGrace=  @cptre  , EarlyGrace=  @cpsom  , AfterOT=  @afterot ,
							Description=  @mota  , KyHieuCC=  @kyhieucc  , OnLunch=  @OnnLun , OffLunch= @OffLun  , 
							IsSplited=  @tachcadem  , ShiftID1=  @shiftid1  , ShiftID2=  @shiftid2  , IsEnabled=@isenable   , IsExtended= @isextended 
							where ShiftID = @ShiftID"                            ;

            return(SqlDataAccessHelper.ExecNoneQueryString(query,
                                                           new string[] { "@ShiftID", "@shiftcode", "@OnnDuty", "@OffDuty", "@DayCount", "@wktime", "@wkday", "@iOnnInn", "@iCutInn", "@iOnnOut", "@iCutOut", "@cptre", "@cpsom", "@afterot",
                                                                          "@mota", "@kyhieucc", "@OnnLun", "@OffLun", "@tachcadem", "@shiftid1", "@shiftid2", "@isenable", "@isextended" },
                                                           new object[]
            {
                shiftid, shiftcode, OnnDuty.ToString(@"hh\:mm"), OffDuty.ToString(@"hh\:mm"), DayCount, wktime, wkday, iOnnInn, iCutInn, iOnnOut, iCutOut, cptre, cpsom, afterot,
                mota, kyhieucc, OnnLun.ToString(@"hh\:mm"), OffLun.ToString(@"hh\:mm"),
                tachcadem, (shiftid1 == -1) ? (object)DBNull.Value : shiftid1, (shiftid2 == -1) ? (object)DBNull.Value : shiftid2, isenable, isextended
            }));
        }
コード例 #29
0
        public static bool XoaNgayVangNV(List <DataRowView> arrRecord)
        {
            var query      = @"DELETE FROM Absent WHERE ID = {0}";
            var formatStr2 = "Xóa khai báo vắng [{0}] [{1}] ngày ngày [{2}] của NV có mã chấm công [{3}]";

            //query = String.Format(query, String.Join(" or ID = ", arrRecord));
            foreach (var rowView in arrRecord)
            {
                var id         = (int)rowView["ID"];
                var absentCode = rowView["AbsentCode"].ToString();
                var wkday      = (float)rowView["Workingday"];
                var ngay       = (DateTime)rowView["TimeDate"];
                var macc       = (int)rowView["UserEnrollNumber"];
                SqlDataAccessHelper.ExecNoneQueryString(string.Format(query, id), null, null);
                DAO.GhiNhatKyThaotac("Xóa khai báo vắng", noidung: string.Format(formatStr2, absentCode, wkday.ToString("0.0"), ngay.ToString("H:mm:ss dd/MM/yyyy"), macc), maCC: macc);
            }

            return(true);
        }
コード例 #30
0
        public static bool ThemNgayVang(IEnumerable <dynamic> list, float workingDay, float workingTime, float PhuCapVang, string absentCode)
        {
            #region query
            var queryIns = @"	
IF EXISTS (	SELECT ID FROM Absent 
			WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate	
					and WorkingTime = 4 and WorkingTime = @WorkingTime )
	UPDATE Absent SET	Workingday = Workingday + @Workingday, WorkingTime = WorkingTime + @WorkingTime, 
						PhuCap = CAST(ISNULL(PhuCap,0) as real) + @PhuCap
	WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate 
			and WorkingTime = 4  and WorkingTime = @WorkingTime 
ELSE
	INSERT INTO Absent (UserEnrollNumber,   TimeDate,  AbsentCode, Thang, Nam, Workingday, WorkingTime, PhuCap) 
		VALUES		  (@UserEnrollNumber,  @TimeDate, @AbsentCode,@Thang,@Nam,@Workingday,@WorkingTime,@PhuCap) 
";
            #endregion

            string noidung = "Thêm xin phép vắng [{0}] [{1}] ngày [{2}], phụ cấp [{3}] cho NV có mã chấm công [{4}] ";
            //info ghép 2 cái nửa thành 1
            foreach (dynamic obj in list)
            {
                int kq = SqlDataAccessHelper.ExecNoneQueryString(
                    queryIns,

/*
 *                                      new string[] { "@UserEnrollNumber", "@TimeDate", "@AbsentCode", "@Thang", "@Nam",
 *                                              "@Workingday", "@WorkingTime", "@NewWorkingday", "@NewWorkingTime",  },
 */
                    new string[] { "@UserEnrollNumber", "@TimeDate", "@AbsentCode", "@Thang", "@Nam",
                                   "@Workingday", "@WorkingTime", "@PhuCap", },

/*
 *                                      new object[] { obj.MaCC, obj.NgayVang, absentCode, obj.NgayVang.Month, obj.NgayVang.Year,
 *                                              workingDay, workingTime, 1f, 8f });
 */
                    new object[] { obj.MaCC, obj.NgayVang, absentCode, obj.NgayVang.Month, obj.NgayVang.Year,
                                   workingDay, workingTime, PhuCapVang });
                DAO.GhiNhatKyThaotac("Thêm xin phép vắng",
                                     string.Format(noidung, absentCode, workingDay.ToString("0.0"), ((DateTime)obj.NgayVang).ToString("dd/MM/yyyy"), PhuCapVang.ToString("0.0#"), obj.MaCC), maCC: (int)obj.MaCC);
            }

            return(true);
        }