private void opt_Click(object sender, EventArgs e) { //--------------------- User utemp = FileDate.ReadOne <User>(alteredOne); string tip = utemp.Valid ? "被冻结" : "解除冻结"; DialogResult dr = MessageBox.Show(utemp.ID + "即将" + tip, "重要提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { if (utemp.Pri > Main.user.Pri || (int)utemp.Pri == 3) { MessageBox.Show("你没有足够的权限执行此操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (utemp.Valid) { int dur = Convert.ToInt32(Days.Text); FileDate.WriteInfo <Record>(new Record(OptType.冻结, Main.user.ID, utemp.ID, dur)); } utemp.Valid = !utemp.Valid; FileDate.WriteInfo <User>(utemp, alteredOne); MessageBox.Show("操作成功!"); this.Close(); } } }
private void search_Click(object sender, EventArgs e) { string uid = IDtxt.Text; if (uid != "") { User utemp = new User(); try { for (int i = 0; ; i++) { utemp = FileDate.ReadOne <User>(i); if (utemp.ID == uid) { v = utemp.Valid; alteredOne = i; state.Text = v ? "正常" : "被冻结"; opt.Text = v ? "冻结账号" : "解除冻结"; FreezeShow(); break; } } } catch (ArgumentOutOfRangeException) { state.Text = "未找到账号相关信息"; } } }
private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e) { uint size = FileDate.CountOf <Record>(); for (int i = 0; i < size; i++) { FileDate.ReadOne <Record>(i).debug(); } }
private List <BookMaster> SearchByKeyword(Book book) { List <BookMaster> bklist = new List <BookMaster>(); BookMaster master = new BookMaster(); uint size = FileDate.CountOf <BookMaster>(); for (int i = 0; i < size; i++) { master = FileDate.ReadOne <BookMaster>(i); if (master.SimiliarTo(book)) { bklist.Add(master); } } return(bklist); }
//根据ID找到对象 public static T FindObjByID <T>(string id) where T : IGet, new() { try { for (int i = 0; ; i++) { if (FileDate.ReadOne <T>(i).GetID() == id) { return(FileDate.ReadOne <T>(i)); } } } catch (ArgumentOutOfRangeException) { MessageBox.Show("未找到用户信息!", "提示"); } return(new T()); }
//对象是否已经存在 public static bool Exist <T>(T t) where T : IGet, new() { try { T t2 = new T(); for (int i = 0; ; i++) { t2 = FileDate.ReadOne <T>(i); if (t.GetID().ToLower() == t2.GetID().ToLower() || t.GetName().ToLower() == t2.GetName().ToLower()) { return(true); } } } catch (ArgumentOutOfRangeException) { } return(false); }
private void confirm_Click(object sender, EventArgs e) { if (Vis.Checked) { Main.user = new User("Visitor"); qual = true; } else if (!(Stu.Checked || Worker.Checked || Admin.Checked)) { MessageBox.Show("请选择你的登录身份!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { User utemp = new User(); uint size = FileDate.CountOf <User>(); for (int i = 0; i < size; i++) { utemp = FileDate.ReadOne <User>(i); if (utemp.ID == IDtxt.Text && utemp.Pwd == PWDtxt.Text) { if ((Stu.Checked && utemp.Pri == Privilege.学生) || (Worker.Checked && utemp.Pri == Privilege.职工) || (Admin.Checked && utemp.Pri == Privilege.管理员)) { qual = true; Main.user = new User(utemp); main.updateStatus(); break; } } } } if (qual) { this.Close(); } else { MessageBox.Show("未找到用户信息,用户名或密码或者登录身份错误.", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
//通过ISBN来找到书籍(书籍ISBN是唯一的,可以当做一个标识) public static List <BookMaster> SearchByISBN(string isbn) { BookMaster master = new BookMaster(); uint count = FileDate.CountOf <BookMaster>(); List <BookMaster> bklist = new List <BookMaster>(1); for (int i = 0; i < count; i++) { master = FileDate.ReadOne <BookMaster>(i); if (master.Info.ISBN.Contains(isbn)) { bklist.Add(master); break; } } if (bklist.Count == 0) { MessageBox.Show("未找到该ISBN编号的书", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(bklist); }
private List <Record> RecordWithinSpan(int span) { List <Record> reclist = new List <Record>(); int len = (int)FileDate.CountOf <Record>(); int size = Marshal.SizeOf(typeof(Record)); Record rec = new Record(); for (int i = 1; i <= len; i++) { rec = FileDate.ReadOne <Record>(len - i); if (rec.spanDaysToPresent() <= span) { reclist.Add(rec); } else { break; } } return(reclist); }
//与以前的记录匹配,成为历史记录 public static void MatchRecord(OptType tp, string opt, string obj) { if (!File.Exists("Lib_Mana_Sys.User.dat")) { return; } int len = 0; using (FileStream fs = new FileStream("Lib_Mana_Sys.Record.dat", FileMode.Open)) { len = (int)fs.Length / Marshal.SizeOf(typeof(Record)); } Record rec = new Record(); for (int i = 1; i <= len; i++) { rec = FileDate.ReadOne <Record>(len - i); if (rec.Unmatch && rec.Type == tp && rec.Optor == opt && rec.Objer == obj) { FileDate.AlterInfo(rec.findMatch()); break; } } }