Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 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);
 }
Ejemplo n.º 7
0
        public static bool Update(TaskRecordEntity taskRecordEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new TaskRecordProvider(zoneId);

            return(provider.Update(taskRecordEntity, trans));
        }