protected override object GetItemFromInput()
 {
     Operator info = null;
     if (CheckInput())
     {
         if (IsAdding)
         {
             info = new Operator();
             info.Password = txtPassword.Text.Trim();
         }
         else
         {
             info = UpdatingItem as Operator;
             if (txtPassword.Text.Trim() != _subPwd)
             {
                 info.Password = txtPassword.Text.Trim();
             }
         }
         info.ID = txtOperatorID.Text.Trim();
         info.Name = txtOperatorName.Text.Trim();
         info.Role = comRoleList.Role;
         info.RoleID = comRoleList.SelectedRoleID;
         List<Department> depts = departmentTreeview1.SelectedDepartments;
         info.Depts = depts.Select(item => item.ID).ToList();
     }
     return info;
 }
 /// <summary>
 /// 增加操作员,如果操作员编号已被使用,抛出InvalidOperationException
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public CommandResult Insert(Operator info)
 {
     List<Operator> allOpt = GetAllOperators().QueryObjects;
     if (allOpt.Exists(opt => opt.ID == info.ID))
     {
         throw new InvalidOperationException(string.Format(Resource1.OperatorBll_IDbeUsed, info.ID));
     }
     if (allOpt.Exists(opt => opt.Name == info.Name))
     {
         throw new InvalidOperationException(string.Format(Resource1.OperatorBll_NamebeUsed, info.Name));
     }
     CommandResult ret = provider.Insert(info);
     return ret;
 }
 /// <summary>
 /// 修改操作员,如果操作员编号已被使用,抛出InvalidOperationException
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public CommandResult Update(Operator info)
 {
     List<Operator> allOpt = GetAllOperators().QueryObjects;
     if (allOpt.Exists(opt => opt.ID != info.ID && opt.Name == info.Name))
     {
         throw new InvalidOperationException(string.Format(Resource1.OperatorBll_NamebeUsed, info.Name));
     }
     Operator original = GetByID(info.ID).QueryObject;
     if (original != null)
     {
         return provider.Update(info, original);
     }
     else
     {
         return new CommandResult(ResultCode.NoRecord, ResultCodeDecription.GetDescription(ResultCode.NoRecord));
     }
 }
 /// <summary>
 /// 删除操作员
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 /// <exception cref=" "></exception>
 public CommandResult Delete(Operator info)
 {
     if (info.IsAdmin)
     {
         return new CommandResult(ResultCode.Fail, string.Format(Resource1.OperatorBll_CannotDelete, info.ID));
     }
     return provider.Delete(info);
 }