/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/5/17 18:11:43</remarks> public bool Update(TaskDailyrecordEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_TaskDailyrecord_Update"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId); database.AddInParameter(commandWrapper, "@DailyCount", DbType.Int32, entity.DailyCount); database.AddInParameter(commandWrapper, "@RecordDate", DbType.DateTime, entity.RecordDate); database.AddInParameter(commandWrapper, "@TaskIds", DbType.AnsiString, entity.TaskIds); database.AddInParameter(commandWrapper, "@CurTimes", DbType.AnsiString, entity.CurTimes); database.AddInParameter(commandWrapper, "@StepRecords", DbType.AnsiString, entity.StepRecords); database.AddInParameter(commandWrapper, "@DoneParam", DbType.Binary, entity.DoneParam); database.AddInParameter(commandWrapper, "@Status", DbType.AnsiString, entity.Status); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); database.AddInParameter(commandWrapper, "@RowVersion", DbType.Binary, entity.RowVersion); database.AddInParameter(commandWrapper, "@IsReceive", DbType.Boolean, entity.IsReceive); database.AddInParameter(commandWrapper, "@FinishCount", DbType.Int32, entity.FinishCount); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.ManagerId = (System.Guid)database.GetParameterValue(commandWrapper, "@ManagerId"); return(Convert.ToBoolean(results)); }
private PopMessageEntity Handler(TaskDailyrecordEntity entity, EnumTaskRequireFunc requireType, int count, int subParam = 0, int thirdParam = 0, string doneKey = "", bool sendByChat = false) { try { var taskList = TaskCore.Instance.BuildDailyTaskList(entity); string allStepRecords = ""; string allStatus = ""; string allCurtimes = ""; byte[] doneParam = new byte[0]; bool needUpdate = false; foreach (var taskEntity in taskList) { string stepRecord = taskEntity.StepRecord; int curTimes = taskEntity.CurTimes; int status = taskEntity.Status; if (status == (int)EnumTaskStatus.Init) { if (doHandler(taskEntity.TaskId, count, ref doneParam, ref stepRecord, ref curTimes, ref status, requireType, subParam, thirdParam, doneKey)) { needUpdate = true; } } allStepRecords += stepRecord + "|"; allStatus += status + ","; allCurtimes += curTimes + ","; } entity.DoneParam = doneParam; entity.StepRecords = allStepRecords.Remove(allStepRecords.LastIndexOf('|'), 1); entity.CurTimes = allCurtimes.TrimEnd(','); entity.Status = allStatus.TrimEnd(','); if (needUpdate) { if (TaskDailyrecordMgr.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); }
/// <summary> /// GetById /// </summary> /// <param name="managerId">managerId</param> /// <returns>TaskDailyrecordEntity</returns> /// <remarks>2016/5/17 18:11:43</remarks> public TaskDailyrecordEntity GetById(System.Guid managerId) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_TaskDailyrecord_GetById"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, managerId); TaskDailyrecordEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// 将IDataReader的当前记录读取到TaskDailyrecordEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public TaskDailyrecordEntity LoadSingleRow(IDataReader reader) { var obj = new TaskDailyrecordEntity(); obj.ManagerId = (System.Guid)reader["ManagerId"]; obj.DailyCount = (System.Int32)reader["DailyCount"]; obj.RecordDate = (System.DateTime)reader["RecordDate"]; obj.TaskIds = (System.String)reader["TaskIds"]; obj.CurTimes = (System.String)reader["CurTimes"]; obj.StepRecords = (System.String)reader["StepRecords"]; obj.DoneParam = (System.Byte[])reader["DoneParam"]; obj.Status = (System.String)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; obj.RowVersion = (System.Byte[])reader["RowVersion"]; obj.IsReceive = (System.Boolean)reader["IsReceive"]; obj.FinishCount = (System.Int32)reader["FinishCount"]; return(obj); }
public static bool Update(TaskDailyrecordEntity taskDailyrecordEntity, DbTransaction trans = null, string zoneId = "") { var provider = new TaskDailyrecordProvider(zoneId); return(provider.Update(taskDailyrecordEntity, trans)); }