示例#1
0
        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();
                }
            }
        }
示例#2
0
        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 = "未找到账号相关信息";
                }
            }
        }
示例#3
0
        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();
            }
        }
示例#4
0
        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);
        }
示例#5
0
 //根据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());
 }
示例#6
0
 //对象是否已经存在
 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);
     }
 }
示例#8
0
        //通过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);
        }
示例#10
0
        //与以前的记录匹配,成为历史记录
        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;
                }
            }
        }