private bool KiemTraDangNhap(string TaiKhoan, string Pass, out bool IsRootAccount) { IsRootAccount = false; if (TaiKhoan.Equals("root")) { var 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; if (Pass.Equals(passroot)) { IsRootAccount = true; return(true); } } //tài khoản thường: kiểm tra có kết nối CSDL chưa, string template = "{0}\\Setting.txt"; int lastIndex = Application.CommonAppDataPath.LastIndexOf(Path.DirectorySeparatorChar); int count = Application.CommonAppDataPath.Length - lastIndex; var temp = Application.CommonAppDataPath.Remove(lastIndex, count); var FileName = string.Format(template, temp); if (KiemTra_DocChuoiKetNoiCSDL(FileName, out GV.cs) == false) { return(false); } WEDatabaseDataContext context = new WEDatabaseDataContext(GV.cs); if (context.DatabaseExists() == false) { MessageBox.Show(ResxNotification.Text_MatKetNoiCSDL, ResxNotification.Caption_ThongBao); return(false); } if (context.NewUserAccounts.Any(item => item.UserAccount == TaiKhoan && item.Password == MyUtility.Mahoa(Pass) && item.Enable) == false) { MessageBox.Show(ResxNotification.Text_Acc_Pass_incorrect, ResxNotification.Caption_ThongBao); return(false); } return(true); }
internal void ChamCong(DateTime ngayBD, DateTime ngayKT, List <int> selectedUEN_s) { var startSearchTime = ngayBD; var endSearchTime = ngayKT; var db = new WEDatabaseDataContext(GV.cs); var AllCheck = //db.CheckInOuts.Where(item => (item.TimeStr > startSearchTime && item.TimeStr < endSearchTime)); new List <CheckInOut>(); var listCheck = from check in db.CheckInOuts //join uen in selectedUEN_s on check.UserEnrollNumber equals uen into group1 where check.IsWatched5 == false && selectedUEN_s.Contains((int)check.UserEnrollNumber) && check.TimeStr > startSearchTime && check.TimeStr < endSearchTime orderby check.UserEnrollNumber, check.TimeStr select check; var listCheckNotUsed = new List <CheckInOut>(); var i = 0; while (i + 1 < listCheck.Count()) { var before = listCheck.ElementAt(i); var after = listCheck.ElementAt(i + 1); if (before.UserEnrollNumber == after.UserEnrollNumber && after.TimeStr - before.TimeStr < StaticSetting.Default._10phut) { listCheckNotUsed.Add(before); } i++; } var resultListCheck = listCheck.Except(listCheckNotUsed).OrderBy(item => item.UserEnrollNumber).ThenBy(item => item.TimeStr); var groupCheckByUEN = from check in resultListCheck group check by check.UserEnrollNumber into groupCheck orderby groupCheck.Key.Value select groupCheck; foreach (var subGroup in groupCheckByUEN) { var list = new List <CheckInCheckOut>(); this.Pair(subGroup.Key.Value, subGroup.ToList(), out list); } //this.Pair() }
private void test() { var startSearchTime = DateTime.Today.Date; var endSearchTime = startSearchTime.Date.AddMonths(1); WEDatabaseDataContext db = new WEDatabaseDataContext(GV.cs); List <CheckInOut> AllCheck = //db.CheckInOuts.Where(item => (item.TimeStr > startSearchTime && item.TimeStr < endSearchTime)); new List <CheckInOut>(); //db.CheckInOuts.InsertAllOnSubmit(); int[] selectedUEN_s = new int[] { 1000, 2000 }; List <CheckInOut> listTemp = new List <CheckInOut>(); listTemp.Add(new CheckInOut { UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 19, 7, 30, 0) }); listTemp.Add(new CheckInOut { UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 19, 7, 31, 0) }); listTemp.Add(new CheckInOut { UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 19, 16, 30, 0) }); listTemp.Add(new CheckInOut { UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 19, 16, 31, 0) }); //listTemp.Add(new CheckInOut {UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 1, 7, 30, 0)}); //listTemp.Add(new CheckInOut {UserEnrollNumber = 1000, IsWatched5 = false, TimeStr = new DateTime(2016, 1, 1, 7, 30, 0)}); var groupCheckByUEN_s = from check in listTemp //join uen in selectedUEN_s on check.UserEnrollNumber equals uen into group1 where check.IsWatched5 == false && selectedUEN_s.Contains((int)check.UserEnrollNumber) && check.TimeStr > startSearchTime && check.TimeStr < endSearchTime orderby check.TimeStr group check by check.UserEnrollNumber into groupCheckByUEN orderby groupCheckByUEN.Key select groupCheckByUEN; List <CheckInOut> listCheckNotUsed = new List <CheckInOut>(); foreach (var group in groupCheckByUEN_s) { int i = 0; while (i + 1 < group.Count()) { var before = group.ElementAt(i); var afterr = group.ElementAt(i + 1); if ((afterr.TimeStr - before.TimeStr) < StaticSetting.Default._10phut) { listCheckNotUsed.Add(afterr); } i++; } } foreach (var group in groupCheckByUEN_s) { int i = 0; richTextBox1.Text += (string.Format("{0}\n", "Key=" + group.Key.Value.ToString())); foreach (var checkInOut in group.Except(listCheckNotUsed)) { richTextBox1.Text += (string.Format("{0}\t{1}\n", checkInOut.UserEnrollNumber, checkInOut.TimeStr)); } } }