Beispiel #1
0
        public void DAlloc()
        {
            prepare();
            StudentToDB();
            string         sx   = slist[10].sid;
            List <Student> boy  = new List <Student>();
            List <Student> girl = new List <Student>();

            for (int i = 0; i < slist.Count; i++)
            {
                if (slist[i].ssex.Equals("男"))
                {
                    boy.Add(slist[i]);
                }
                else
                {
                    girl.Add(slist[i]);
                }
            }
            List <Room> boyroom  = geteRoom("男生宿舍");
            List <Room> girlroom = geteRoom("女生宿舍");
            //安排男生入住
            string s     = boyroom[11].brsex;
            MYSql  mysql = new MYSql();
            int    stu   = 0;

            for (int i = 0; i < boyroom.Count; i++)
            {
                int maxsize = getMaxsize(boyroom[i].buildingnum, boyroom[i].roomnum);
                int asize   = getacsize(boyroom[i].buildingnum, boyroom[i].roomnum);
                for (; stu < boy.Count; stu++)
                {
                    if (asize == maxsize)
                    {
                        break;
                    }
                    string year   = "20" + boy[stu].sid.Substring(0, 2);
                    string intoDS = "insert into DS(buildingnum,roomnum,sid,livetime)values('" + boyroom[i].buildingnum + "','" + boyroom[i].roomnum + "','" + boy[stu].sid + "','" + year + "')";
                    mysql.ExecuteQuery(intoDS);
                    asize++;
                }
            }
            stu = 0;
            for (int i = 0; i < girlroom.Count; i++)
            {
                int asize   = getacsize(girlroom[i].buildingnum, girlroom[i].roomnum);
                int maxsize = getMaxsize(girlroom[i].buildingnum, girlroom[i].roomnum);
                for (; stu < girl.Count; stu++)
                {
                    if (asize == maxsize)
                    {
                        break;
                    }
                    string year   = "20" + girl[stu].sid.Substring(0, 2);
                    string intoDS = "insert into DS(buildingnum,roomnum,sid,livetime)values('" + girlroom[i].buildingnum + "','" + girlroom[i].roomnum + "','" + girl[stu].sid + "','" + year + "')";
                    mysql.ExecuteQuery(intoDS);
                    asize++;
                }
            }
        }
Beispiel #2
0
        private async void button_Click(object sender, RoutedEventArgs e)//增加寝室
        {
            string buildingnum = textBox.Text;
            string roomnum     = textBox1.Text;
            string sex         = textBox3.Text;
            int    size;

            if (buildingnum == "" || roomnum == "" || sex == "" || textBox2.Text == "")
            {
                await this.ShowMessageAsync("提示", "请输入完整信息");
            }
            //性别选项
            try
            {
                size = Convert.ToInt32(textBox2.Text);
                string s     = "insert into DS(buildingnum,roomnum,brsex,size)values('" + buildingnum + "','" + sex + "','" + roomnum + "','" + size + "')";
                MYSql  mYSql = new MYSql();
                try
                {
                    mYSql.ExecuteQuery(s);
                    await this.ShowMessageAsync("提示", "修改成功");
                }
                catch
                {
                    await this.ShowMessageAsync("提示", "已存在该宿舍");
                }
            }
            catch
            {
                await this.ShowMessageAsync("提示", "数据未按格式输入");
            }
        }
Beispiel #3
0
        private async void button_Click(object sender, RoutedEventArgs e)//添加
        {
            string  buildingnum;
            string  wnum;
            GetInfo g = new GetInfo();

            buildingnum = comboBox.SelectedValue.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
            int num = g.getMnum(buildingnum) + 1;

            wnum = "00" + buildingnum + "00" + num.ToString();
            string wname = textBox1.Text;
            string pwd   = "111111";

            labelwnum.Content = wnum;
            string s = "insert into worker(wnum,wname,bnum,pwd)values('" + wnum + "','" + wname + "','" + buildingnum + "','" + pwd + "')";

            if (wname == "" || buildingnum == "")
            {
                await this.ShowMessageAsync("提示", "请输入完整的信息");
            }
            MYSql mYSql = new MYSql();

            try
            {
                mYSql.ExecuteQuery(s);
                await this.ShowMessageAsync("提示", "插入成功,新的工号是" + wnum);

                man.dataGrid.ItemsSource = mYSql.ExecuteQuery("select wnum as '工号',wname as '姓名',bnum as '管理栋号' from worker").DefaultView;
                this.Close();
            }
            catch (Exception ex)
            {
                await this.ShowMessageAsync("提示", "未插入成功,已有此工号" + ex);
            }
        }
Beispiel #4
0
        public static DataTable changeDt()
        {
            MYSql  mysql = new MYSql();
            string s     = "select wnum as '工号',wname as '姓名',bnum as '管理栋号' from worker";

            return(dt = mysql.ExecuteQuery(s));
        }
Beispiel #5
0
        public Boolean setin(string id, string bunum)
        {
            MYSql     mYSql = new MYSql();
            string    sql   = "select Ssex from student where sid = '" + id + "'";;
            DataTable dt    = mYSql.ExecuteQuery(sql);

            if (dt.Rows.Count == 0)
            {
                return(false);
            }
            string sex = dt.Rows[0]["Ssex"].ToString();

            if (sex == "男")
            {
                if (Convert.ToInt32(bunum) % 2 == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                if (Convert.ToInt32(bunum) % 2 != 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Beispiel #6
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            IntPtr p         = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(this.passwordBox.SecurePassword);
            string password  = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(p);
            IntPtr p1        = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(this.passwordBox1.SecurePassword);
            string password1 = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(p1);
            MYSql  mysql     = new MYSql();

            if (textBox.Text == "" || password == "" || password1 == "")
            {
                await this.ShowMessageAsync("提示", "信息填写不完整");
            }
            else
            {
                string    username = textBox.Text.Trim();
                string    s1       = "select wnum,pwd from worker where wnum='" + username + "' and pwd='" + password + "'";
                DataTable dt       = new DataTable();
                dt = mysql.ExecuteQuery(s1);
                if (dt != null && dt.Rows.Count > 0)
                {
                    string s2 = "update worker set pwd='" + password1 + "'where wnum='" + username + "'";
                    int    n  = mysql.ExecuteUpdate(s2);
                    if (n != 0)
                    {
                        await this.ShowMessageAsync("提示", "修改成功");

                        this.Close();
                    }
                }
                else
                {
                    await this.ShowMessageAsync("提示", "用户名或旧密码输入错误");
                }
            }
        }
Beispiel #7
0
        public String GetSex(string id)
        {
            string    s     = "select Ssex from student where sid = '" + id + "'";
            MYSql     mYSql = new MYSql();
            DataTable dt    = mYSql.ExecuteQuery(s);

            return(dt.Rows[0]["Ssex"].ToString());
        }
Beispiel #8
0
        public DataTable getRepairman()
        {
            MYSql     mYSql = new MYSql();
            DataTable dt    = new DataTable();

            dt = mYSql.ExecuteQuery("select rid from repairman");
            return(dt);
        }
Beispiel #9
0
        public int getMnum(string buildingnum)
        {
            string    s     = "select count(*) as num from worker group by bnum";
            MYSql     mYSql = new MYSql();
            DataTable dt    = mYSql.ExecuteQuery(s);
            int       num   = Convert.ToInt32(dt.Rows[0]["num"]);

            return(num);
        }
Beispiel #10
0
        public string GetBuildingnum(string wnum)
        {
            MYSql     mYSql = new MYSql();
            DataTable dt    = new DataTable();

            dt = mYSql.ExecuteQuery("select bnum from worker where wnum = '" + wnum + "'");
            string bnum = dt.Rows[0]["bnum"].ToString();

            return(bnum);
        }
Beispiel #11
0
        public List <String> getstu()
        {
            List <string> slist = new List <String>();
            MYSql         mYSql = new MYSql();
            DataTable     dt    = mYSql.ExecuteQuery("select sid from student where sid not in (select sid from DS)");

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                slist.Add(dt.Rows[i]["sid"].ToString());
            }
            return(slist);
        }
Beispiel #12
0
        public bool notin(string id)
        {
            string    sql   = "select sid from DS where sid ='" + id + "'";
            MYSql     mYSql = new MYSql();
            DataTable dt    = mYSql.ExecuteQuery(sql);

            try
            {
                string ids = dt.Rows[0]["sid"].ToString();
                return(false);
            }
            catch
            {
                return(true);
            }
        }
Beispiel #13
0
        public int getacsize(string buildingnum, string roomnum)
        {
            string    s = "select count(*) as size from DS where buildingnum = '" + buildingnum + "' and roomnum = '" + roomnum + "'";
            int       size;
            MYSql     mYSql = new MYSql();
            DataTable dt    = mYSql.ExecuteQuery(s);

            if (dt.Rows[0]["size"] == null)
            {
                size = 0;
            }
            else
            {
                size = Convert.ToInt32(dt.Rows[0]["size"]);
            }
            return(size);
        }
Beispiel #14
0
        /// <summary>
        /// 自动为学生分配寝室
        /// </summary>
        public List <Room> geteRoom(string sex)
        {
            MYSql       mYSql    = new MYSql();
            List <Room> roomlist = new List <Room>();
            string      sql      = "select * from broom where brsex = '" + sex + "'";
            DataTable   dt       = mYSql.ExecuteQuery(sql);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string buildingnum = dt.Rows[i]["buildingnum"].ToString();
                string roomnum     = dt.Rows[i]["roomnum"].ToString();
                string brsex       = dt.Rows[i]["brsex"].ToString();
                int    size        = Convert.ToInt32(dt.Rows[i]["size"]);
                roomlist.Add(new Room(buildingnum, roomnum, brsex, size));
            }
            return(roomlist);
        }
Beispiel #15
0
        public bool Getin(string buildingnum, string roomnum, int type) //type等于1 判断一个人入住,等于2 判断两个人入住情况
        {
            int size;

            buildingnum = buildingnum.Replace("System.Windows.Controls.ComboBoxItem: ", "");
            MYSql     mYSql = new MYSql();
            DataTable dt    = mYSql.ExecuteQuery("select 'size'=count(*) from DS where buildingnum = '" + buildingnum + "' and roomnum = '" + roomnum + "'");

            if (dt.Rows.Count == 0)
            {
                size = 0;
                return(true);
            }
            size = Convert.ToInt32(dt.Rows[0]["size"]);
            dt   = mYSql.ExecuteQuery("select size from broom where buildingnum = '" + buildingnum + "' and roomnum = '" + roomnum + "'");
            if (dt.Rows.Count == 0)
            {
                return(false);
            }
            int maxsize = Convert.ToInt32(dt.Rows[0]["size"]);

            switch (type)
            {
            case 1:
                if (size == maxsize)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }

            case 2:
                if (size != 0)
                {
                    return(false);
                }
                return(true);

            default:
                break;
            }
            return(false);
        }
Beispiel #16
0
        public string[] GetTable(string sid)
        {
            string[]  temp  = { "", "" };
            string    sql   = "select buildingnum,roomnum from DS where sid = '" + sid + "'";
            DataTable dt    = new DataTable();
            MYSql     mysql = new MYSql();

            dt = mysql.ExecuteQuery(sql);
            try
            {
                temp[0] = dt.Rows[0]["buildingnum"].ToString();
                temp[1] = dt.Rows[0]["roomnum"].ToString();
            }
            catch (Exception ex)
            {
                temp[0] = "error";
                temp[1] = "error";
            }
            return(temp);
        }
Beispiel #17
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            string info = infoBox.Text;
            string time;

            System.DateTime dateTime = new System.DateTime();
            dateTime = System.DateTime.Now;
            time     = dateTime.Year.ToString() + "-" + toStd(dateTime.Month) + "-" + toStd(dateTime.Day);
            MYSql  mYSql = new MYSql();
            string sql   = "insert into record(content,buildingnum,roomnum,status,redate)values('" + info + "','" + buildingnum + "','" + roomnum + "','" + 1 + "','" + time + "')";

            try
            {
                mYSql.ExecuteQuery(sql);
                await this.ShowMessageAsync(buildingnum + "栋" + roomnum + "号寝室", "您的信息已提交");
            }catch (Exception ex)
            {
                await this.ShowMessageAsync(ex.ToString(), "");
            }
        }
Beispiel #18
0
        private async void button_Click(object sender, RoutedEventArgs e)//办理入住
        {
            MYSql mysql = new MYSql();

            if (asize + 1 > maxsize)
            {
                await this.ShowMessageAsync("提示", "该宿舍已经满员");
            }
            else
            {
                string sid  = textBox.Text;
                string year = yearBox.Text;
                if (sid == "")
                {
                    await this.ShowMessageAsync("提示", "请勿输入空值");
                }
                else
                {
                    if (!getstu().Contains(sid))
                    {
                        await this.ShowMessageAsync("提示", "此学生已有住宿信息或不存在此学号");
                    }
                    else
                    {
                        string s = "insert into DS(buildingnum,roomnum,sid,livetime)values('" + buildingnum + "','" + roomnum + "','" + sid + "','" + year + "')";
                        if (GetSex(sid).Equals(sex[0].ToString()) == true)
                        {
                            mysql.ExecuteUpdate(s);
                            await this.ShowMessageAsync("提示", "插入成功");

                            this.Close();
                            drmain.first();
                        }
                        else
                        {
                            await this.ShowMessageAsync("提示", "不能将" + GetSex(sid) + "生添加进" + sex[0] + "寝室");
                        }
                    }
                }
            }
        }
Beispiel #19
0
        private async void button2_Click(object sender, RoutedEventArgs e)
        {
            GetInfo getInfo    = new GetInfo();
            string  sid        = textBox.Text.Trim();
            string  newroomnum = textBox1.Text.Trim();


            MYSql  mysql = new MYSql();
            string s;

            if (selected == 0 || selected == 2 || selected == 1)
            {
                if (newroomnum == "" || sid == "")
                {
                    await this.ShowMessageAsync("提示", "您还有属性未填写");
                }
                else
                {
                    if (selected == 0)
                    {
                        await this.ShowMessageAsync("提示", "请先选择更改属性");
                    }
                    if (selected == 1)//修改个人
                    {
                        string newbuildingnum = comboBox1.SelectedValue.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
                        if (Getin(newbuildingnum, newroomnum, 1))
                        {
                            s = "update DS set buildingnum = '" + newbuildingnum + "' ,roomnum = '" + newroomnum + "' where sid = '" + sid + "'";//sql语句
                            MessageDialogResult result = await this.ShowMessageAsync("更改信息", "您真的要修改吗?", MessageDialogStyle.AffirmativeAndNegative);

                            if (result != MessageDialogResult.Negative)//取消
                            {
                                if (getInfo.setin(sid, newbuildingnum))
                                {
                                    try
                                    {
                                        mysql.ExecuteUpdate(s);
                                        await this.ShowMessageAsync("提示", "修改成功");

                                        this.Close();
                                    }
                                    catch
                                    {
                                        await this.ShowMessageAsync("提示", "无此寝室号");
                                    }
                                }
                                else
                                {
                                    await this.ShowMessageAsync("提示", "不同性别学生不能安排在同一寝室");
                                }
                            }
                        }
                        else
                        {
                            await this.ShowMessageAsync("提示", "寝室无空余床位或是无此寝室号");
                        }
                    }
                    if (selected == 2)//修改整个寝室
                    {
                        string newbuildingnum = comboBox1.SelectedValue.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
                        string oldbuildingnum = comboBox2.SelectedValue.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
                        if (Getin(newbuildingnum, newroomnum, 2))
                        {
                            s = "update DS set buildingnum = '" + newbuildingnum + "',roomnum = '" + newroomnum + "'where buildingnum ='" + sid + "'and roomnum ='" + oldbuildingnum + "'";
                            MessageDialogResult result = await this.ShowMessageAsync("更改信息", "您真的要修改吗?", MessageDialogStyle.AffirmativeAndNegative);

                            if (result != MessageDialogResult.Negative)//取消
                            {
                                if ((Convert.ToInt32(newbuildingnum) % 2) != (Convert.ToInt32(oldbuildingnum) % 2))
                                {
                                    await this.ShowMessageAsync("提示", "不同性别不能安排在同一个寝室楼");
                                }
                                else
                                {
                                    try
                                    {
                                        mysql.ExecuteUpdate(s);
                                        await this.ShowMessageAsync("提示", "修改成功");

                                        this.Close();
                                    }
                                    catch
                                    {
                                        await this.ShowMessageAsync("提示", "无此寝室号");
                                    }
                                }
                            }
                        }
                        else
                        {
                            await this.ShowMessageAsync("提示", "寝室无空余床位或是无此寝室号");
                        }
                    }
                }
            }
            else if (selected == 3)
            {
                string year = yeartextbox.Text;
                if (year == "")
                {
                    await this.ShowMessageAsync("提示", "请输入年份");
                }
                else
                {
                    AGSI gs = new AGSI(year);

                    try
                    {
                        Progress1.IsActive = true;
                        gs.DAlloc();
                        Progress1.IsActive = false;
                        await this.ShowMessageAsync("提示", "完成");
                    }
                    catch (Exception ex)
                    {
                        await this.ShowMessageAsync("异常", ex.ToString());
                    }

                    this.Close();
                }
            }
        }