/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/2/16 15:15:19</remarks> public bool Update(TaskHistoryEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_TaskHistory_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId); database.AddInParameter(commandWrapper, "@TaskId", DbType.Int32, entity.TaskId); database.AddInParameter(commandWrapper, "@CurTimes", DbType.Int32, entity.CurTimes); database.AddInParameter(commandWrapper, "@StepRecord", DbType.AnsiString, entity.StepRecord); database.AddInParameter(commandWrapper, "@DoneParam", DbType.Binary, entity.DoneParam); database.AddInParameter(commandWrapper, "@PrizeExp", DbType.Int32, entity.PrizeExp); database.AddInParameter(commandWrapper, "@PrizeCoin", DbType.Int32, entity.PrizeCoin); database.AddInParameter(commandWrapper, "@PrizeItemCode", DbType.Int32, entity.PrizeItemCode); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx"); return(Convert.ToBoolean(results)); }
public async Task <TaskAggregate> ChangeTaskState(Guid taskId, int order) { var taskAggregate = await PrepareTaskAggregate(taskId); var newState = taskAggregate.TaskHistory.Where(x => x.Order == order).FirstOrDefault(); if (newState == null) { return(null); } taskAggregate.ActiveState = newState; var taskEntity = new TaskEntity(); taskEntity.Id = taskAggregate.Id; taskEntity.Name = taskAggregate.Name; taskEntity.ActiveStateId = taskAggregate.ActiveState.StateId; taskEntity.FlowId = taskAggregate.Flow.Id; var taskHistoryEntity = new TaskHistoryEntity(); taskHistoryEntity.FlowId = taskAggregate.Flow.Id; taskHistoryEntity.Order = taskAggregate.ActiveState.Order; taskHistoryEntity.StateId = taskAggregate.ActiveState.StateId; await _unitOfWork.Tasks.Update(taskEntity); await _unitOfWork.TaskHistories.Add(taskHistoryEntity); _unitOfWork.Commit(); return(taskAggregate); }
public async Task <int> Add(TaskHistoryEntity entity) { entity.CreatedOn = DateTime.Now; var sql = "INSERT INTO TaskHistory (Id, TaskId, StateId, FlowId, [Order],CreatedOn) Values (@Id, @TaskId, @StateId, @FlowId, @Order,@CreatedOn);"; var affectedRows = await Connection.ExecuteAsync(sql, new { Id = entity.Id, TaskId = entity.TaskId, StateId = entity.StateId, FlowId = entity.FlowId, Order = entity.Order, CreatedOn = entity.CreatedOn }, Transaction); return(affectedRows); /*using (var connection = new SqlConnection(_configuration.GetConnectionString("DefaultConnection"))) * { * connection.Open(); * var affectedRows = await connection.ExecuteAsync(sql, entity); * return affectedRows; * }*/ }
public async Task <int> Update(TaskHistoryEntity entity) { throw new NotImplementedException(); /*entity.ModifiedOn = DateTime.Now; * var sql = "UPDATE TaskHistory SET Name = @Name, Description = @Description, Status = @Status, DueDate = @DueDate, DateModified = @DateModified WHERE Id = @Id;"; * var affectedRows = await Connection.ExecuteAsync(sql, entity, Transaction); * return affectedRows; * using (var connection = new SqlConnection(_configuration.GetConnectionString("DefaultConnection"))) * { * connection.Open(); * var affectedRows = await connection.ExecuteAsync(sql, entity); * return affectedRows; * }*/ }
public async Task <bool> TaskPrevState(Guid taskId) { var taskAggregate = await PrepareTaskAggregate(taskId); taskAggregate.Previous(); var taskHistory = new TaskHistoryEntity(); taskHistory.Order = taskAggregate.ActiveState.Order; taskHistory.StateId = taskAggregate.ActiveState.StateId; taskHistory.TaskId = taskAggregate.Id; taskHistory.FlowId = taskAggregate.Flow.Id; await _unitOfWork.TaskHistories.Add(taskHistory); _unitOfWork.Commit(); return(true); }
/// <summary> /// 将IDataReader的当前记录读取到TaskHistoryEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public TaskHistoryEntity LoadSingleRow(IDataReader reader) { var obj = new TaskHistoryEntity(); obj.Idx = (System.Int32)reader["Idx"]; obj.ManagerId = (System.Guid)reader["ManagerId"]; obj.TaskId = (System.Int32)reader["TaskId"]; obj.CurTimes = (System.Int32)reader["CurTimes"]; obj.StepRecord = (System.String)reader["StepRecord"]; obj.DoneParam = (System.Byte[])reader["DoneParam"]; obj.PrizeExp = (System.Int32)reader["PrizeExp"]; obj.PrizeCoin = (System.Int32)reader["PrizeCoin"]; obj.PrizeItemCode = (System.Int32)reader["PrizeItemCode"]; obj.Status = (System.Int32)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; return(obj); }
public async Task <bool> AssignFlowToTask(Guid taskId, Guid flowId) { var task = await _unitOfWork.Tasks.Get(taskId); if (task.ActiveStateId != null && task.FlowId != null) { return(false); } var flowStates = await _unitOfWork.FlowStates.GetStatesByFlowId(flowId); if (!flowStates.Any()) { return(false); } var firstState = flowStates.Where(x => x.Order == 1).FirstOrDefault(); task.FlowId = flowId; task.ActiveStateId = firstState.Id; var historyEntity = new TaskHistoryEntity(); historyEntity.Order = 1; historyEntity.TaskId = taskId; historyEntity.FlowId = flowId; historyEntity.StateId = firstState.Id; var result = await _unitOfWork.Tasks.Update(task); if (result == 0) { return(false); } var result2 = await _unitOfWork.TaskHistories.Add(historyEntity); if (result2 == 0) { return(false); } _unitOfWork.Commit(); return(true); }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>TaskHistoryEntity</returns> /// <remarks>2016/2/16 15:15:19</remarks> public TaskHistoryEntity GetById(System.Int32 idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_TaskHistory_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx); TaskHistoryEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
public static bool Update(TaskHistoryEntity taskHistoryEntity, DbTransaction trans = null, string zoneId = "") { var provider = new TaskHistoryProvider(zoneId); return(provider.Update(taskHistoryEntity, trans)); }