/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/5/18 12:02:33</remarks> public bool Update(TaskRecordEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_TaskRecord_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, "@ManagerLevel", DbType.Int32, entity.ManagerLevel); 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)); }
/// <summary> /// 将IDataReader的当前记录读取到TaskRecordEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public TaskRecordEntity LoadSingleRow(IDataReader reader) { var obj = new TaskRecordEntity(); 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.ManagerLevel = (System.Int32)reader["ManagerLevel"]; obj.Status = (System.Int32)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; return(obj); }
public static bool Add(TaskRecordEntity taskRecordEntity, DbTransaction trans = null, string zoneId = "") { if (taskRecordEntity.IsFromPending) { return(Update(taskRecordEntity, trans, zoneId)); } else { int returncode = -2; int idx = taskRecordEntity.Idx; Add(taskRecordEntity.ManagerId, taskRecordEntity.TaskId, taskRecordEntity.CurTimes, taskRecordEntity.StepRecord, taskRecordEntity.DoneParam, taskRecordEntity.ManagerLevel, taskRecordEntity.Status, taskRecordEntity.RowTime, taskRecordEntity.UpdateTime, ref idx, ref returncode, trans, zoneId); taskRecordEntity.Idx = idx; return(returncode == 0); } }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>TaskRecordEntity</returns> /// <remarks>2016/5/18 12:02:33</remarks> public TaskRecordEntity GetById(System.Int32 idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_TaskRecord_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx); TaskRecordEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
void SavePackageTask(TaskRecordEntity taskRecord, int number, ConfigTaskEntity taskConfig, string zoneId = "", DbTransaction trans = null) { if (taskRecord == null || taskConfig == null) { return; } if (taskRecord.Status != 0) { return; } if (taskRecord.CurTimes < number) { taskRecord.CurTimes = number; if (taskRecord.CurTimes >= taskConfig.Times) { taskRecord.Status = 1; } taskRecord.UpdateTime = DateTime.Now; TaskRecordMgr.Update(taskRecord, trans, zoneId); } }
private PopMessageEntity Handler(TaskRecordEntity entity, EnumTaskRequireFunc requireType, int count, int subParam = 0, int thirdParam = 0, string doneKey = "", bool sendByChat = false) { try { if (entity.Status == (int)EnumTaskStatus.Done || entity.Status == (int)EnumTaskStatus.Pending) { return(null); } byte[] doneParam = entity.DoneParam; string stepRecord = entity.StepRecord; int oldTimes = entity.CurTimes; int curTimes = entity.CurTimes; int status = entity.Status; if (doTaskHandler(entity.ManagerId, entity.TaskId, count, ref doneParam, ref stepRecord, ref curTimes, ref status, requireType, subParam, thirdParam, doneKey)) { entity.DoneParam = doneParam; entity.StepRecord = stepRecord; entity.CurTimes = curTimes; entity.Status = status; if (TaskRecordMgr.Update(entity)) { //if (status == (int)EnumTaskStatus.Done) //{ // return ChatHelper.SendTaskFinishPop(entity.ManagerId, entity.TaskId, sendByChat); //} //else if (curTimes != oldTimes) //{ // return ChatHelper.SendTaskProgressPop(entity.ManagerId, entity.TaskId, curTimes, sendByChat); //} } } } catch (Exception ex) { SystemlogMgr.Error("Task Handler", ex); } return(null); }
public static bool Update(TaskRecordEntity taskRecordEntity, DbTransaction trans = null, string zoneId = "") { var provider = new TaskRecordProvider(zoneId); return(provider.Update(taskRecordEntity, trans)); }