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); }