/// <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); } }
/// <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); }
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); } }
/// <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(); //执行完毕后重新调用执行 }
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); } }