コード例 #1
0
        /// <summary>
        /// 全参构造函数
        /// </summary>
        /// <param name="User">系统当前使用者用户对象</param>
        public DataWindow(User User)
        {
            borrowWindow      = null;
            returnWindow      = null;
            addStuffWindow    = null;
            removeStuffWindow = null;
            user = User;

            //系统初始化组件函数
            InitializeComponent();
        }
コード例 #2
0
        /// <summary>
        /// 数据网格选中项变更事件回调函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgrdStuffInfo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //获取数据网格当前选中行的行号
            int selectedIndex = dgrdStuffInfo.SelectedIndex;

            //判断选中行的行号,避免切换绑定资源时引发的异常
            if (selectedIndex > -1)
            {
                //取得数据网格当前的物资对象表
                Stuff stuff = dgrdStuffInfo.SelectedItem as Stuff;

                //如果物资处于可借状态——即: 1.用户处于所有物资界面;
                //2.该物资当前被拥有者持有; 3.该物资的拥有者不是当前用户。
                if ((bool)rdbAllStuffs.IsChecked && stuff.State.Equals("Holding") && !stuff.Owner.Equals(user.UserName))
                {
                    //按用户名获取缓存中的当前物资拥有者用户对象
                    User owner = App.GetUserByUserName(stuff.Owner);

                    //如果借入窗口尚未实例化
                    if (null == borrowWindow)
                    {
                        //创建并初始化借入窗口对象
                        borrowWindow = new BorrowWindow(this, stuff, owner, user);
                    }

                    //显示借入窗口
                    borrowWindow.Show();
                }

                //如果物资处于可还状态——即: 1.用户处于借入物资界面;
                //2.该物资当前被借出; 3.该物资的当前持有者是当前用户。
                else if ((bool)rdbBorrowedStuffs.IsChecked && stuff.State.Equals("LentOut") && stuff.CurrentHolder.Equals(user.UserName))
                {
                    //按用户名获取缓存中的当前物资拥有者用户对象
                    User owner = App.GetUserByUserName(stuff.Owner);

                    //如果归还窗口尚未实例化
                    if (null == returnWindow)
                    {
                        //创建并初始化归还物口对象
                        returnWindow = new ReturnWindow(this, stuff, owner, user);
                    }

                    //显示归还窗口
                    returnWindow.Show();
                }

                //如果物资处于可删除状态——即: 1.用户处于我的物资界面;
                //2.该物资的拥有者不是当前用户。
                else if ((bool)rdbMyStuffs.IsChecked && stuff.Owner.Equals(user.UserName))
                {
                    //如果该物资当前被借出
                    if (!stuff.State.Equals("Holding"))
                    {
                        MessageBox.Show("该物资当前处于借出状态,请先执行归还流程。", "删除失败", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                        return;
                    }

                    //按实验室号获取缓存中的主管老师用户对象
                    User headTeacher = App.GetTeacherByLaboratory(user.Laboratory);

                    //如果未查询到该实验室的主管老师
                    if (null == headTeacher)
                    {
                        MessageBox.Show("未查询到主管老师的相关信息,请通知该主管老师注册本系统或联系系统管理员。", "错误的用户信息", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                        return;
                    }

                    //如果删除物资窗口尚未实例化
                    if (null == removeStuffWindow)
                    {
                        //创建并初始化删除物资窗口
                        removeStuffWindow = new RemoveStuffWindow(this, stuff, headTeacher, user);
                    }

                    //显示删除物资窗口
                    removeStuffWindow.Show();
                }
            }
        }