/// <summary> /// 增加连线 /// </summary> /// <param name="entity">流程连线实体</param> /// <returns>增加成功后的主键</returns> public string InsertLink(WorkLinkEntity entity) { string returnStr = string.Empty; if (entity.WorkLinkId.Trim().Length == 0 || entity.WorkLinkId == null) { throw new Exception("InsertLink方法错误,LinkId 不能为空!"); } if (entity.WorkFlowId.Trim().Length == 0 || entity.WorkFlowId == null) { throw new Exception("InsertLink方法错误,WorkflowId 不能为空!"); } if (entity.StartTaskId == null) { throw new Exception("InsertLink方法错误,StartTask 不能为空!"); } if (entity.EndTaskId == null) { throw new Exception("InsertLink方法错误,EndTask 不能为空!"); } try { returnStr = this.AddEntity(entity); } catch (Exception ex) { throw ex; } return(returnStr); }
/// <summary> /// 修改连线 /// </summary> /// <param name="entity">实体</param> /// <returns>大于0成功</returns> public int UpdateLink(WorkLinkEntity entity) { int returnInt = -1; if (entity.WorkLinkId.Trim().Length == 0 || entity.WorkLinkId == null) { throw new Exception("UpdateLink方法错误,LinkId 不能为空!"); } if (entity.WorkFlowId.Trim().Length == 0 || entity.WorkFlowId == null) { throw new Exception("UpdateLink方法错误,WorkflowId 不能为空!"); } if (entity.StartTaskId == null) { throw new Exception("UpdateLink方法错误,StartTaskId 不能为空!"); } if (entity.EndTaskId == null) { throw new Exception("UpdateLink方法错误,EndTaskId 不能为空!"); } try { returnInt = this.UpdateEntity(entity); } catch (Exception ex) { throw ex; } return(returnInt); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workLinkEntity">实体</param> public int UpdateEntity(WorkLinkEntity workLinkEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workLinkEntity); sqlBuilder.SetWhere(WorkLinkTable.FieldWorkLinkId, workLinkEntity.WorkLinkId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新流程连线 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">流程连线实体</param> /// <returns>大于0成功</returns> public int UpdateWorkLink(UserInfo userInfo, WorkLinkEntity entity) { var returnValue = -1; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.WorkFlowTemplateService_UpdateWorkLink); ServiceUtil.ProcessWorkFlowDbWithTransaction(userInfo, parameter, dbProvider => { var manager = new WorkLinkManager(dbProvider, userInfo); returnValue = manager.UpdateLink(entity); }); return(returnValue); }
/// <summary> /// 设置实体 /// </summary> /// <param name="sqlBuilder">Sql语句生成器</param> /// <param name="workLinkEntity">实体</param> private void SetEntity(SQLBuilder sqlBuilder, WorkLinkEntity workLinkEntity) { sqlBuilder.SetValue(WorkLinkTable.FieldWorkFlowId, workLinkEntity.WorkFlowId); sqlBuilder.SetValue(WorkLinkTable.FieldStartTaskId, workLinkEntity.StartTaskId); sqlBuilder.SetValue(WorkLinkTable.FieldEndTaskId, workLinkEntity.EndTaskId); if (DBProvider.CurrentDbType == CurrentDbType.MySql) { sqlBuilder.SetValue("`" + WorkLinkTable.FieldCondition + "`", workLinkEntity.Condition); //mySql中的"Condition"为保留字,会报错,加键盘上1左边的`括起来即可 } else { sqlBuilder.SetValue(WorkLinkTable.FieldCondition, workLinkEntity.Condition); } sqlBuilder.SetValue(WorkLinkTable.FieldDescription, workLinkEntity.Description); sqlBuilder.SetValue(WorkLinkTable.FieldBreakX, workLinkEntity.BreakX); sqlBuilder.SetValue(WorkLinkTable.FieldBreakY, workLinkEntity.BreakY); sqlBuilder.SetValue(WorkLinkTable.FieldCommandName, workLinkEntity.CommandName); sqlBuilder.SetValue(WorkLinkTable.FieldPriority, workLinkEntity.Priority); }
/// <summary> /// 添加实体 /// </summary> /// <param name="workLinkEntity">实体</param> public string AddEntity(WorkLinkEntity workLinkEntity) { string sequence = string.Empty; this.Identity = false; if (!string.IsNullOrEmpty(workLinkEntity.WorkLinkId)) { sequence = workLinkEntity.WorkLinkId.ToString(CultureInfo.InvariantCulture); } SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, WorkLinkTable.FieldWorkLinkId); if (!this.Identity) { if (string.IsNullOrEmpty(workLinkEntity.WorkLinkId)) { sequence = BusinessLogic.NewGuid(); workLinkEntity.WorkLinkId = sequence; } sqlBuilder.SetValue(WorkLinkTable.FieldWorkLinkId, workLinkEntity.WorkLinkId); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(WorkLinkTable.FieldWorkLinkId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(WorkLinkTable.FieldWorkLinkId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(workLinkEntity.WorkLinkId)) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } workLinkEntity.WorkLinkId = sequence; } sqlBuilder.SetValue(WorkLinkTable.FieldWorkLinkId, workLinkEntity.WorkLinkId); } } } this.SetEntity(sqlBuilder, workLinkEntity); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 更新 /// </summary> /// <param name="workLinkEntity">实体</param> public int Update(WorkLinkEntity workLinkEntity) { return(this.UpdateEntity(workLinkEntity)); }
/// <summary> /// 添加 /// </summary> /// <param name="workLinkEntity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主键</param> /// <returns>主键</returns> public string Add(WorkLinkEntity workLinkEntity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return(this.AddEntity(workLinkEntity)); }
/// <summary> /// 添加 /// </summary> /// <param name="workLinkEntity">实体</param> /// <returns>主键</returns> public string Add(WorkLinkEntity workLinkEntity) { return(this.AddEntity(workLinkEntity)); }