Пример #1
0
        /// <summary>
        /// 添加一个设备
        /// </summary>
        protected void AddEquipment()
        {
            CtrlCtx
            .GetEquipmentTypeController()
            .PrintAllEquipmentType();                                             //调用设备种类Controller的公共方法打印所有的设备种类

            Dictionary <int, string> dictionary = EquipmentViews.AddEquipement(); //调用view里面的添加设备方法得到用户输入
            string   title           = dictionary[0];                             //设备标题
            double   worth           = Convert.ToDouble(dictionary[1]);           //设备价格
            DateTime dateTime        = Util.StringToDateTime(dictionary[2]);      //设备购买日期
            string   remark          = dictionary[3];                             //备注
            int      equipmentTypeId = Convert.ToInt32(dictionary[4]);            //设备所属小类的Id
            Admin    admin           = CtrlCtx.GetAdminController().GetCurrentAdmin();
            int      result          = EquipmentAdaptor
                                       .AddEquipment(title, worth, dateTime, remark, equipmentTypeId,
                                                     admin.Id); //调用数据库方法添加设备

            if (result == 0)                                    //因为设备种类Id不合法而失败
            {
                EquipmentViews.OperatorFail();                  //打印失败
            }
            else if (result == 1)                               //操作成功
            {
                EquipmentViews.OperatorSuccess();               //打印成功
            }
            else
            {
                throw new MyException("不应有其他返回值", 3);
            }
        }
Пример #2
0
        /// <summary>
        /// 根据条件查找设备控制器
        /// </summary>
        /// <param name="op">整型数字选择对应操作</param>
        protected void FindEquipmentByCondition(int op)
        {
            List <Equipment> equipments = new List <Equipment>();

            switch (op)
            {
            case (int)EnumFindCondition.ByBigType:                            //通过大类浏览
                CtrlCtx.GetEquipmentTypeController().PrintAllEquipmentType(); //先打印所有的设备种类让用户选择
                int bigTypeId = EquipmentViews.FindEquipmentByBigType();      //获得大类Id
                equipments = EquipmentAdaptor.FindEquipmentsByBigType(bigTypeId);
                break;

            case (int)EnumFindCondition.BySmallType:                          //通过小类浏览
                CtrlCtx.GetEquipmentTypeController().PrintAllEquipmentType(); //先打印所有的设备种类让用户选择
                int smallTypeId = EquipmentViews.FindEquipmentBySmallType();  //获得小类Id
                equipments = EquipmentAdaptor.FindEquipmentsBySmallType(smallTypeId);
                break;

            case (int)EnumFindCondition.ByLogicId: //通过编号查询
                PrintAllEquipment();               //先打印出所有的数据
                string logicId = EquipmentViews.FindEquipmentByLogicId();
                equipments = EquipmentAdaptor.FindEquipmentsByLogicId(logicId);
                break;

            case (int)EnumFindCondition.ByUser:             //通过用户查询
                CtrlCtx.GetUserController().PrintAllUser(); //先打印所有的用户
                int userId = EquipmentViews.FindEquipmentByUserId();
                equipments = EquipmentAdaptor.FindEquipmentByUserId(userId);
                break;

            default:
                break;
            }
            PrintSelectEquipment(equipments);
        }
Пример #3
0
        protected void BorrowEquipment()
        {
            CtrlCtx.GetUserController().PrintAllUser();                          //先打印所有的用户数据
            CtrlCtx.GetEquipmentController().PrintAllEquipment();                //再打印所有的设备数据
            Dictionary <int, int> dictionary = EquipmentViews.BorrowEquipment(); //得到用户输入的用户Id和要被领用的设备Id
            int result = EquipmentAdaptor.BorrowEquipment(dictionary[0], dictionary[1]);

            if (result == 1)
            {
                EquipmentViews.OperatorSuccess();
            }
            else if (result == 0)
            {
                EquipmentViews.OperatorFail();
            }
            else if (result == -1)
            {
                EquipmentViews.ShowEquipmentHasBeenBorrowError(); //指定设备已经被占用
            }
            else if (result == -2)
            {
                EquipmentViews.ShowEquipmentCanNotBeBorrowError(); //设备维修中或已经损坏
            }
            else
            {
                throw new MyException("程序员的错误,请处理", 0);
            }
        }
Пример #4
0
        /// <summary>
        /// 对用户的选择进行判断并分发到指定Controller
        /// </summary>
        public void Choose()
        {
            int op = AdminViews.ShowChoose(GetCurrentAdmin());

            switch (op)
            {
                #region 调用设备种类Controller对设备种类进行管理
            case (int)ChooseOptions.EquipmentTypeCtrl:
                CtrlCtx.GetEquipmentTypeController().EquipmentTypeCtrl();
                break;

                #endregion
                #region 调用设备Controller对设备进行管理
            case (int)ChooseOptions.EquipmentCtrl:
                CtrlCtx.GetEquipmentController().EquipmentCtrl();
                break;

                #endregion
                #region 调用用户Controller对用户进行管理
            case (int)ChooseOptions.UserCtrl:
                CtrlCtx.GetUserController().UserCtrl();
                break;

                #endregion
                #region 修改Admin的账户密码
            case (int)ChooseOptions.ChangePassword:
                ChangePassword();
                break;

                #endregion
            //都不满足则让用户重新选取
            default:
                AdminViews.ShowChooseError();
                break;
            }
            Choose(); //执行完毕后重新调用执行
        }
Пример #5
0
        protected void ReturnEquipment()
        {
            CtrlCtx.GetEquipmentController().PrintAllEquipment();                         //先打印所有的设备数据
            int    equipmentId  = EquipmentViews.ReturnEquipment();                       //获得要被归还的设备的Id
            string adminAccount = CtrlCtx.GetAdminController().GetCurrentAdmin().Account; //得到当前用户的账号
            int    result       = EquipmentAdaptor.ReturnEquipment(equipmentId, adminAccount);

            if (result == 1)
            {
                EquipmentViews.OperatorSuccess();
            }
            else if (result == 0)
            {
                EquipmentViews.OperatorFail();
            }
            else if (result == -1)
            {
                EquipmentViews.ShowEquipmentNotBorrowError(); //指定设备未被领用
            }
            else
            {
                throw new MyException("程序员的错误,请处理", 0);
            }
        }