// public static void SaveSetting(string connectionstring = null, string lastAccLogIn = null, string lastUserName = null, // string lastDatabase = null, string lastServerName = null, // DateTime? lastStartDate = null, DateTime? lastEndDate = null, // int? lastSanLuong = null, int? lastDonGia = null, // int? lastSanLuongGiaCongNoiBo = null, int? lastDonGiaGiaCongNoiBo = null, // int? lastSanLuongGiaCongNgoai = null, int? lastDonGiaGiaCongNgoai = null, // int? lastLuongToiThieu = null, int? lastBoiDuongCa3 = null, // string lastTenNVLapBieuChamCong = null, string lastTenNVLapBieuLuong = null, string lastTenTruongBP = null // ) { // if (string.IsNullOrEmpty(connectionstring) == false) Settings.Default.ConnectionStringPath = connectionstring; // if (string.IsNullOrEmpty(lastAccLogIn) == false) Settings.Default.LastAccLogIn = lastAccLogIn; // if (string.IsNullOrEmpty(lastUserName) == false) Settings.Default.LastUsername = lastUserName; // if (string.IsNullOrEmpty(lastDatabase) == false) Settings.Default.LastDatabase = lastDatabase; // if (string.IsNullOrEmpty(lastServerName) == false) Settings.Default.LastServerName = lastServerName; // if (lastStartDate != null) Settings.Default.LastStartDate = new DateTime(lastStartDate.Value.Year, lastStartDate.Value.Month, lastStartDate.Value.Day); // if (lastEndDate != null) Settings.Default.LastEndDate = new DateTime(lastEndDate.Value.Year, lastEndDate.Value.Month, lastEndDate.Value.Day); // if (lastSanLuong != null) Settings.Default.LastSanLuong = (int)lastSanLuong; // if (lastDonGia != null) Settings.Default.LastDonGia = (int)lastDonGia; // if (lastSanLuongGiaCongNoiBo != null) Settings.Default.LastSanluongGiaCongNoibo = (int)lastSanLuongGiaCongNoiBo; // if (lastDonGiaGiaCongNoiBo != null) Settings.Default.LastDongiaGiacongNoibo = (int)lastDonGiaGiaCongNoiBo; // if (lastSanLuongGiaCongNgoai != null) Settings.Default.LastSanluongGiacongNgoai = (int)lastSanLuongGiaCongNgoai; // if (lastDonGiaGiaCongNgoai != null) Settings.Default.LastDongiaGiacongNgoai = (int)lastDonGiaGiaCongNgoai; // if (lastLuongToiThieu != null) Settings.Default.LastLuongToiThieu = (int)lastLuongToiThieu; // if (lastBoiDuongCa3 != null) Settings.Default.LastBoiDuongCa3 = (int)lastBoiDuongCa3; // if (lastTenNVLapBieuChamCong != null) Settings.Default.LastTenNVLapBieuChamCong = lastTenNVLapBieuChamCong; // if (lastTenNVLapBieuLuong != null) Settings.Default.LastTenNVLapBieuLuong = lastTenNVLapBieuLuong; // if (lastTenTruongBP != null) Settings.Default.LastTenTruongBP = lastTenTruongBP; // //if ( != null) Settings.Default. = (); // Settings.Default.Save(); // } // #region xử lý load treeView dsnv ở các form // #region cách làm không store procedure // public static TreeView loadTreePhgBan(TreeView tvDSPhongBan, List<cPhongBan> TatcaPhongban, List<cPhongBan> dsPhongduocThaotac) { // tvDSPhongBan.Nodes.Clear(); // //load tất cả phòng ban vào tree // foreach (cPhongBan phong in TatcaPhongban.FindAll(item => item.idParent == 0).OrderBy(item => item.ViTri)) { // TreeNode parentNode = new TreeNode { Text = phong.Ten, Tag = phong }; // tvDSPhongBan.Nodes.Add(parentNode); // loadTreeSubNode(ref parentNode, phong.ID, TatcaPhongban); // } // // lập ds các node chứa các phòng ban được thao tác // TreeNode root = tvDSPhongBan.TopNode; // List<TreeNode> dsNodeThaotac = new List<TreeNode>(); // GetListNode_Thaotac(root, dsPhongduocThaotac, ref dsNodeThaotac); // lấy tất cả các node chứa phòng ban được thao tác // // thêm vào danh sách các node không được thao tác nhưng nằm trên đường dẫn đến node được thao tác // for (int i = 0; i < dsNodeThaotac.Count; i++) { // TreeNode node = dsNodeThaotac[i]; // GetNodesInPath(node.Parent, dsNodeThaotac); // } // // loại bỏ các node ko được thao tác và không thuộc đường dẫn đến node thao tác // RemoveNodeNotInPath(ref root, dsNodeThaotac); // return tvDSPhongBan; // } // private static bool RemoveNodeNotInPath(ref TreeNode root, List<TreeNode> nodesInPath) { // if (root == null) // return false; // if (root.Nodes.Count > 0) { // int i = 0; // // sử dụng kiểu này vì khi xoá 1 node thì danh sách node bị thay đổi --> foreach ko cho phép // // sử dụng for i thì khi xoá node, node sau dồn lên, index i phải giữ nguyên ko được ++ // while (i < root.Nodes.Count) { // TreeNode node = root.Nodes[i]; // bool kq = RemoveNodeNotInPath(ref node, nodesInPath); // if (kq == false) i++; // điều kiện tăng i là nếu xoá được node, ngược lại hết đường thì dừng, // } // } // bool found1 = false; // for (int i = 0; i < nodesInPath.Count; i++) { // TreeNode node = nodesInPath[i]; // if (root != node) continue; // else { // found1 = true; // break; // } // } // if (found1 == false) { // root.Remove(); // return true; // } // return false; // } // private static void GetNodesInPath(TreeNode root, List<TreeNode> nodes) { // if (root == null) return; // // nếu curr đã nằm trong ds node được thao tác thì trùng ko add thêm // bool found = false; // for (int i = nodes.Count - 1; i >= 0; i--) { // if (nodes[i] != root) continue; // found = true; //nodes[i] == root ==> đã tồn tại trong danh sách -> break vòng lặp, ko add mà tiếp tục // break; // } // if (found == false) nodes.Add(root); // ko tìm thấy --> đó là node mới--> add node mới // GetNodesInPath(root.Parent, nodes); // tiếp tục kiểm tra node cha của node hiện tại // } // private static void GetListNode_Thaotac(TreeNode root, List<cPhongBan> dsPhongduocThaotac, ref List<TreeNode> nodes) { // if (root == null) return; // // nếu currNode được phép thao tác thì add current node // for (int i = 0; i < dsPhongduocThaotac.Count; i++) { // cPhongBan phongDuocThaotac = dsPhongduocThaotac[i]; // cPhongBan phongDangXet = (cPhongBan)root.Tag; // if (phongDangXet.ID == phongDuocThaotac.ID) { // phongDangXet.ChoPhep = true; // nodes.Add(root); // } // } // if (root.Nodes.Count > 0) { // // nếu có node con thì add các node con thoả điều kiện // for (int i = 0; i < root.Nodes.Count; i++) { // TreeNode node = root.Nodes[i]; // GetListNode_Thaotac(node, dsPhongduocThaotac, ref nodes); // } // } // // ko có node con thì dừng // } // public static void loadTreeSubNode(ref TreeNode ParentNode, int idPhongBanTrucThuoc, List<cPhongBan> dsphongban) { // List<cPhongBan> childs = dsphongban.Where(item => item.idParent == idPhongBanTrucThuoc).OrderBy(item => item.ViTri).ToList(); // foreach (cPhongBan phong in childs) { // TreeNode child = new TreeNode { Text = phong.Ten, Tag = phong, ToolTipText = phong.Ten }; // ParentNode.Nodes.Add(child); // loadTreeSubNode(ref child, phong.ID, dsphongban); // } // } // public static void GetIDNodeAndChildNode(TreeNode root, ref List<int> listID) { // if (root == null) return; // cPhongBan phong = (cPhongBan)root.Tag; // if (phong != null && phong.ChoPhep) listID.Add(phong.ID); // if (root.Nodes.Count > 0) { // foreach (TreeNode node in root.Nodes) { // GetIDNodeAndChildNode(node, ref listID); // } // } // // xuốn đến đây tương đương root.Nodes.Count== 0; return // } // #endregion // #region cách làm có store procedure // public static TreeView loadTreePhgBan(TreeView tvDSPhongBan) { // tvDSPhongBan.Nodes.Clear(); // DataTable tableDSPhong = SqlDataAccessHelper.ExecSPQuery(SPName.RelationDept_DocTatCaPhongBan.ToString()); // DataTable tableDSPhongThacTac = SqlDataAccessHelper.ExecSPQuery(SPName.RelationDept_DocDSPhongDuocThaoTac.ToString(), // new SqlParameter("@UserID", XL2.currUserID)); // var rowsPhong = (from DataRow row in tableDSPhong.Rows select row).OrderBy(s => (int)s["ViTri"]); // var relationID_0 = rowsPhong.Where(o => (int)o["RelationID"] == 0).ToList().OrderBy(s => (int)s["ViTri"]); // var rowsPhongThaoTac = (from DataRow row in tableDSPhongThacTac.Rows select row).OrderBy(s => (int)s["ViTri"]); // foreach (var dataRowView in relationID_0) { // TreeNode parentNode = new TreeNode { Text = dataRowView["Description"].ToString(), Tag = dataRowView }; // tvDSPhongBan.Nodes.Add(parentNode); // loadTreeSubNode(ref parentNode, (int)dataRowView["ID"], rowsPhong/*TatcaPhongban*/); // } // // lập ds các node chứa các phòng ban được thao tác // TreeNode root = TopNode(tvDSPhongBan.TopNode); // List<TreeNode> dsNodeThaotac = new List<TreeNode>(); // GetListNode_Thaotac(root, rowsPhongThaoTac.ToList(), ref dsNodeThaotac);// lấy tất cả các node chứa phòng ban được thao tác // // loại bỏ các node ko được thao tác và không thuộc đường dẫn đến node thao tác // RemoveNodeNotInPath(ref root, dsNodeThaotac); // return tvDSPhongBan; // } // public static void loadTreeSubNode(ref TreeNode ParentNode, int idPhongBanTrucThuoc, IOrderedEnumerable<DataRow> dsphongban /*List<cPhongBan> dsphongban*/) { // IOrderedEnumerable<DataRow> childs = dsphongban.Where(item => (int)item["RelationID"] == idPhongBanTrucThuoc).ToList().OrderBy(item => (int)item["ViTri"]); // foreach (DataRow phong in childs) { // TreeNode child = new TreeNode { Text = phong["Description"].ToString(), Tag = phong }; // ParentNode.Nodes.Add(child); // loadTreeSubNode(ref child, (int)phong["ID"], dsphongban); // } // } // private static void GetListNode_Thaotac(TreeNode root, List<DataRow> dsPhongduocThaotac, ref List<TreeNode> nodes) { // if (root == null) return; // // nếu currNode được phép thao tác thì add current node // for (int i = 0; i < dsPhongduocThaotac.Count; i++) { // DataRow phongDangXet = (DataRow)root.Tag; // isyes phongDangXet = 0 // DataRow phongDuocThaotac = dsPhongduocThaotac[i]; //isyes phongDuocThaotac =1 // if ((int)phongDangXet["ID"] == (int)phongDuocThaotac["ID"]) { // phongDangXet["IsYes"] = 1; // nodes.Add(root); // } // } // if (root.Nodes.Count > 0) { // nếu có node con thì add các node con thoả điều kiện // for (int i = 0; i < root.Nodes.Count; i++) { // TreeNode node = root.Nodes[i]; // GetListNode_Thaotac(node, dsPhongduocThaotac, ref nodes); // } // } // // ko có node con thì dừng // } // public static void GetIDNodeAndChildNode1(TreeNode root, ref List<int> listID) { // if (root == null) return; // DataRow phong = (DataRow)root.Tag; // if (phong != null && (int)phong["IsYes"] == 1) listID.Add((int)phong["ID"]); // if (root.Nodes.Count > 0) { // foreach (TreeNode node in root.Nodes) { // GetIDNodeAndChildNode1(node, ref listID); // } // } // // xuốn đến đây tương đương root.Nodes.Count== 0; return // } // #endregion // #endregion // public static void ChuanBiDSLichTrinhVaCa() { // XL.DSCaMoRong.Clear(); // XL.DSCa.Clear(); // //lấy danh sách tất cả các ca // var tableDSCa = DAO5.LayDSCa(); // List<cCa> tempList = new List<cCa>(); // foreach (DataRow row in tableDSCa.Rows) { // #region transfer dữ liệu từ row sang đối tượng // var iShiftID = (int)row["ShiftID"]; // var sShiftCode = row["ShiftCode"].ToString(); // TimeSpan tsOnDuty; // TimeSpan.TryParse(row["Onduty"].ToString(), out tsOnDuty); // TimeSpan tOffDuty; // TimeSpan.TryParse(row["Offduty"].ToString(), out tOffDuty); // var iDayCount = (int)row["DayCount"]; // tOffDuty = tOffDuty.Add(new TimeSpan(iDayCount, 0, 0, 0)); // TimeSpan timespanStartNightTime, timespanEndddNightTime; // if (row["StartNT"] == DBNull.Value || TimeSpan.TryParse(row["StartNT"].ToString(), out timespanStartNightTime) == false) timespanStartNightTime = XL2._22h00;//ver 4.0.0.4 // if (row["EndNT"] == DBNull.Value || TimeSpan.TryParse(row["EndNT"].ToString(), out timespanEndddNightTime) == false) timespanEndddNightTime = XL2._06h00;//ver 4.0.0.4 // var tOnLunch = XL2._0gio; // var tOffLunch = XL2._0gio; // if (row["OnLunch"] != DBNull.Value && row["OffLunch"] != DBNull.Value) { // TimeSpan.TryParse(row["OnLunch"].ToString(), out tOnLunch); // TimeSpan.TryParse(row["OffLunch"].ToString(), out tOffLunch); // } // var LunchMin = tOffLunch.Subtract(tOnLunch); // var tempWorkingTime = int.Parse(row["WorkingTime"].ToString()); // var kyhieucc = row["KyHieuCC"].ToString(); // var tachcadem = (row["IsSplited"] != DBNull.Value) && (bool)row["IsSplited"]; // var idCaTruoc = (row["ShiftID1"] != DBNull.Value) ? (int)row["ShiftID1"] : -1; // var idCaSauuu = (row["ShiftID2"] != DBNull.Value) ? (int)row["ShiftID2"] : -1; // var isextend = (row["IsExtended"] != DBNull.Value) && (bool)row["IsExtended"]; // var tempShift = new cCa { // ID = iShiftID, // Code = sShiftCode, // TOD_Duty = new TS { Onn = tsOnDuty, Off = tOffDuty }, // PhutOnnInn = (int)row["OnTimeIn"], // PhutCutInn = (int)row["CutIn"], // PhutOnnOut = (int)row["OnTimeOut"], // PhutCutOut = (int)row["CutOut"], // PhutToiThieuTinhOT = (int)row["AfterOT"], // PhutChoTre = (int)row["LateGrace"], // PhutChoSom = (int)row["EarlyGrace"], // //LateeMin = tLateGrace, // //EarlyMin = tEarlyGrace, // Workingday = (Single)row["Workingday"], // WorkingTimeTS = new TimeSpan(0, tempWorkingTime, 0), // PhutNghiTrua = Convert.ToInt32(LunchMin.TotalMinutes), // TachCaDem = tachcadem, // idCaTruoc = idCaTruoc, // idCaSauuu = idCaSauuu, // KyHieuCC = kyhieucc, // MoTa = row["Description"].ToString(), // IsExtended = isextend, // TOD_NightTime = new TS { Onn = timespanStartNightTime, Off = timespanEndddNightTime } // }; // //tempShift.TOD_NhanDienVao = new TS { Onn = tempShift.ThoiDiemOnnInn(), Off = tod_CutIn }, // //tempShift.TOD_NhanDienRaa = new TS { Onn = tod_OnTimeOut, Off = tod_CutOut }, // #endregion // tempList.Add(tempShift); // } // // ra khỏi vòng lặp,ca 3&1, ca 3&1A chưa cập nhật ca trước, ca sau--> cập nhật // #region update lại ca tách qua đêm trong ds ca // foreach (cCa ca in tempList.Where(item => item.TachCaDem)) { // var catruoc = tempList.Find(item => item.ID == ca.idCaTruoc); // var casauuu = tempList.Find(item => item.ID == ca.idCaSauuu); // ca.catruoc = catruoc; // ca.casauuu = casauuu; // } // #endregion // // có được toàn bộ ds ca --> gán cho DSCa toàn cục, DSCaMR toàn cục // XL.DSCa = tempList; // XL.DSCaMoRong = tempList.Where(item => item.IsExtended).ToList(); // //DSCaMoRong chỉ bao gồm các ca ghép Ca1&2A, Ca1B&2, mỗi ca có caTrước caSau // // gán lịch trình // XL.DSLichTrinh.Clear(); // // lấy danh sách lịch trình, mỗi dòng là 1 ca thuộc lịch trình => để duyệt từng lịch trình thì phải lấy dicstint // var tableLichTrinh = DAO5.LayDSLichTrinh(); // var arrRows_Distinct = (from DataRow row in tableLichTrinh.Rows // select new { SchID = (int)(row["SchID"]), SchName = row["SchName"].ToString() }) // .Distinct(); // foreach (var row in arrRows_Distinct) { // var arrRows1 = tableLichTrinh.Select("SchID=" + row.SchID, ""); // var lichtrinh = new cShiftSchedule { // SchID = row.SchID, // TenLichTrinh = row.SchName, // DSCaThu = new List<List<cCa>>(7), // DSCaMRThu = new List<List<cCa>>(7), // }; // // mỗi lịch trình chứa 7T, mỗi T là 1 danh sách ca // for (int i = 0; i < 7; i++) { // lichtrinh.DSCaThu.Add(new List<cCa>()); // lichtrinh.DSCaMRThu.Add(new List<cCa>()); // } // foreach (var row1 in arrRows1) { // for (int i = 0; i < 7; i++) { // if (row1["T" + (i + 1)] == DBNull.Value) // continue; // var shiftid = (int)row1["T" + (i + 1)]; // var ca = XL.DSCa.Find(o => o.ID == shiftid); // if (ca != null) // lichtrinh.DSCaThu[i].Add(ca); // } // } // for (int i = 0; i < 7; i++) { // List<cCa> dscathu = lichtrinh.DSCaThu[i]; // foreach (var ca in from ca in XL.DSCaMoRong // let catruoc = ca.catruoc // let casauuu = ca.casauuu // where dscathu.Exists(item => item.ID == catruoc.ID) // && dscathu.Exists(item => item.ID == casauuu.ID) // select ca) { // lichtrinh.DSCaMRThu[i].Add(ca); // } // } // //var ca3 = lichtrinh.DSCaThu[0].FirstOrDefault(o => o.QuaDem && Math.Abs(o.Workingday - 1f) < 0.01f);//ver 4.0.0.4 //xác định ca 3 có giờ qua đêm 21h45 hay 22 giờ để gán // //if (ca3 == null) lichtrinh.TGLamDemTheoQuyDinh = TGLamDemTheoQuyDinh._22h00;//ver 4.0.0.4 // //else if (ca3.StartNT == XL2._21h45) lichtrinh.TGLamDemTheoQuyDinh = TGLamDemTheoQuyDinh._21h45;//ver 4.0.0.4 // //else lichtrinh.TGLamDemTheoQuyDinh = TGLamDemTheoQuyDinh._22h00;//ver 4.0.0.4 // XL.DSLichTrinh.Add(lichtrinh); // } // if (XL.DSLichTrinh.Count == 0) // throw new NullReferenceException("Không có ds lịch trình"); // } // 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); // } // public static bool KiemtraDocFileKetnoiDL(string FileName, ref string connectionString) { // var kq = true; // // Open the file into a StreamReader // try { // StreamReader file = File.OpenText(FileName); // string s = file.ReadToEnd(); // connectionString = MyUtility.giaima(s); // file.Close(); // } catch (Exception ex) { // kq = false; // if (ex is FileNotFoundException || ex is DirectoryNotFoundException) // MessageBox.Show(string.Format(Resources.Text_KoTimThayFileX, "kết nối CSDL"), Resources.Caption_Loi); // else if (ex is NotSupportedException || ex is PathTooLongException) // MessageBox.Show(string.Format(Resources.Text_UnsupportedFile_PathTooLong, "kết nối CSDL"), Resources.Caption_Loi); // else if (ex is UnauthorizedAccessException) // MessageBox.Show(string.Format(Resources.Text_KoCoQuyenTruyCapFileX, "kết nối CSDL"), Resources.Caption_Loi); // else { // lg.Error(string.Format("[{0}]_[{1}]\n", "XL", System.Reflection.MethodBase.GetCurrentMethod().Name), ex); // MessageBox.Show(Resources.Text_KoTheKetNoiCSDL + ex.Message, Resources.Caption_Loi); // } // } // return kq; // } public static bool CheckLogIn(string tempUsername, string tempPassword, string passroot, ref string tmpConnStr, out LoaiTK loaiTK, out int currUserID, out string currUserAccount) { bool kq; loaiTK = LoaiTK.None; currUserID = 0; currUserAccount = string.Empty; // đọ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 = LoaiTK.LocalRoot; kq = true; } else // kiểm tra login bằng tài khoản thường { string passEncrypt = MyUtility.Mahoa(tempPassword); DataTable dt = LogIn(tempUsername, passEncrypt); //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 = LoaiTK.User; kq = true; } else { MessageBox.Show(Resources.Text_Acc_Pass_incorrect, Resources.Caption_ThongBao, MessageBoxButtons.OK); kq = false; } } return(kq); }
private void btnDangnhap_Click(object sender, EventArgs e) { #region lay du lieu tu form string tempUsername = btnEditTaikhoan.Text, tempPassword = btnEditMatkhau.Text; var passroot = string.Empty; passroot = ((DateTime.Now.Minute % 2 == 0)) ? DateTime.Now.Minute + "@" + DateTime.Now.Hour + "$" + DateTime.Now.Month + "^" + DateTime.Now.Day : DateTime.Now.Minute + "!" + DateTime.Now.Hour + "#" + DateTime.Now.Month + "%" + DateTime.Now.Day; #endregion //1. kiểm tra kết nối csdl trước rồi kiểm tra tài khoản đăng nhập //1.1 ko có kết nối hoặc tài khoản ko đúng thì ko bật flag login //1.2 đăng nhập thành công thì bật cờ,đóng form này lại //todo string tmpConnStr = string.Empty, currUserAccount = string.Empty; int currUserID = 0; LoaiTK loaiTK = LoaiTK.None; if (Settings.Default.EncryptConnectionString == string.Empty) { ACMessageBox.Show("Chưa có kết nối CSDL.", Resources.Caption_Loi, 2000); return; } tmpConnStr = MyUtility.giaima(Settings.Default.EncryptConnectionString); var kq = GeneralBUS.CheckLogIn(tempUsername, tempPassword, passroot, ref tmpConnStr, out loaiTK, out currUserID, out currUserAccount); if (!kq) { btnEditMatkhau.Text = string.Empty; return; } //1.2 đang nhập thành công thì chuẩn bị các dữ liệu toàn cục // nếu tài khoản LocalRoot thì được mở các form...//todo hiển thị các form nào? // nếu tài khoản thường thì chuẩn bị các biến toàn cục: // a. danh sách phòng ban được phép thao tác, // b. thông tin ca tự do phần mềm thiết lập, áp dụng cho runtime GlobalVariables.CurrentUserID = currUserID; GlobalVariables.CurrentUserAccount = currUserAccount; GlobalVariables.DocServerSetting5(); this.m_LogInStatus = true; this.Close(); return; //XL.KhoiTaoDSPhongBan(XL2.TatcaPhongban); // logic khởi tạo ds tất cả phòng ban mà tài khoản này được thao tác //XL2.QuyenThaoTac = XL.LayPhanQuyen(); //if (loaiTK == 1) //login thành công bằng tài khoản root //{ // // hiển thị form admin // frm_Admin frm = new frm_Admin(); // this.Hide(); // frm.Show(); //} //else { // XL.SaveSetting(lastAccLogIn: currUserAccount); // XL.ChuanBiDSLichTrinhVaCa(); // /* // SqlDataAccessHelper.ConnectionString = @"Data Source=.\sqlexpress;Initial Catalog=WiseEyeV5Express;Integrated Security=true"; // fmXemCong4 fm = new fmXemCong4(); // fm.Show(); // */ // /* // fmTKeCongTheoNVu frm = new fmTKeCongTheoNVu(); // this.Hide(); // frm.ShowDialog(); // this.Close(); // */ // frm_main frm = new frm_main(); // this.Hide(); // frm.ShowDialog(); // this.Close(); // hiển thị form tài khoản thường//} }