/// <summary> /// 添加模型前 /// </summary> /// <param name="returnInfo">返回信息</param> /// <param name="model">模型</param> /// <param name="connectionId">连接ID</param> protected override void BeforeAdd(ReturnInfo <bool> returnInfo, DataDictionaryItemInfo model, ref string connectionId) { bool idClose = false; if (string.IsNullOrWhiteSpace(connectionId)) { idClose = true; connectionId = Persistence.NewConnectionId(); } try { ValiExistsParam(returnInfo, model, Persistence.CountByDataItemIdAndText(model.DataDictionaryId, model.Text, connectionId)); } catch (Exception ex) { throw new Exception(ex.Message, ex); } finally { if (idClose && returnInfo.Failure()) { Persistence.Release(connectionId); } } }
/// <summary> /// 验证存在的参数 /// </summary> /// <param name="returnInfo">返回信息</param> /// <param name="model">模型</param> /// <param name="existsCount">存在的个数</param> private void ValiExistsParam(ReturnInfo <bool> returnInfo, DataDictionaryItemInfo model, int existsCount) { if (existsCount <= 0) { return; } returnInfo.SetFailureMsg($"文本:{model.Text}已存在"); }
/// <summary> /// 验证是否能移除 /// </summary> /// <param name="returnInfo">返回信息</param> /// <param name="item">数据字典子项</param> private void ValiCanRemove(ReturnInfo <bool> returnInfo, DataDictionaryItemInfo item) { if (item == null) { return; } if (item.SystemInlay) { returnInfo.SetFailureMsg($"数据字典子项[{item.Text}]是系统内置不能删除"); return; } }