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

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