Ejemplo n.º 1
0
        /// <summary>
        /// 新增、修改任务信息
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="taskID"></param>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        public static void SaveUserTask(string userID, int taskID, int taskNum)
        {
            var package = GetTask(userID);

            if (package != null)
            {
                RefreashUserTask(userID);
                var tempItem = package.TaskPackage.Find(m => m.TaskID == taskID);
                if (tempItem == null)
                {
                    tempItem             = new UserTaskInfo();
                    tempItem.TaskID      = taskID;
                    tempItem.TaskNum     = 0;
                    tempItem.TaskStatus  = TaskStatus.Unfinished;
                    tempItem.RefreshDate = DateTime.Now;
                    tempItem.CreateDate  = DateTime.Now;
                    package.TaskPackage.Add(tempItem);
                }

                TaskInfo taskInfo = new ConfigCacheSet <TaskInfo>().FindKey(taskID);
                if (tempItem.TaskStatus == TaskStatus.Unfinished)
                {
                    tempItem.TaskNum = MathUtils.Addition(tempItem.TaskNum, taskNum);
                    if (taskInfo != null && tempItem.TaskNum >= taskInfo.RestraintNum)
                    {
                        tempItem.TaskStatus = TaskStatus.Complete;
                        tempItem.CreateDate = DateTime.Now;
                    }
                }
                if (taskInfo != null && taskInfo.AchieveID > 0)
                {
                    SaveUserAchieve(userID, taskInfo.AchieveID, tempItem.TaskNum);
                }
            }
        }
Ejemplo n.º 2
0
 public static List <TaskActions> AvailableActions(this UserTaskInfo userTask)
 {
     return(userTask.TaskDefinitionKey switch
     {
         "Task_PrepareProject" => new List <TaskActions> {
             TaskActions.Prepare
         },
         "Task_CloseProject" => new List <TaskActions> {
             TaskActions.Close
         },
         _ => new List <TaskActions> {
         }
     });
 public static List <TaskActions> AvailableActions(this UserTaskInfo userTask)
 {
     return(userTask.TaskDefinitionKey switch
     {
         "Task_PrepareOffer" => new List <TaskActions> {
             TaskActions.NotifyNoHeroesAvailable, TaskActions.CreateOffer
         },
         "Task_AcceptOffer" => new List <TaskActions> {
             TaskActions.AcceptOffer, TaskActions.RejectOffer
         },
         _ => new List <TaskActions> {
         }
     });
Ejemplo n.º 4
0
 public static TaskPayload FromEntity(UserTaskInfo task, Domain.ProjectWf project)
 {
     return(new TaskPayload
     {
         TaskId = task.Id,
         TaskType = task.TaskDefinitionKey,
         TaskName = task.Name,
         Assignee = task.Assignee,
         ObjectWfId = project?.Id.ToString(),
         ObjectId = project?.ObjectId.ToString(),
         ObjectName = project?.ObjectName,
         ObjectStatus = project?.Status.ToString(),
         Actions = task.AvailableActions()
     });
 }
Ejemplo n.º 5
0
 public static TaskDto FromEntity(UserTaskInfo task, Order relatedOrder)
 {
     return(new TaskDto
     {
         TaskId = task.Id,
         TaskType = task.TaskDefinitionKey,
         TaskName = task.Name,
         Assignee = task.Assignee,
         OrderId = relatedOrder?.Id.Value,
         RequestedSuperpower = relatedOrder?.Superpower.Name,
         OrderFrom = relatedOrder?.Period.From,
         OrderTo = relatedOrder?.Period.To,
         Customer = relatedOrder?.Customer.Name,
         OrderStatus = relatedOrder?.Status.ToString(),
         Actions = task.AvailableActions()
     });
 }
Ejemplo n.º 6
0
 public UserTaskEntity(UserTaskInfo Info)
 {
     this.ID          = Info.ID;
     this.Name        = Info.Name;
     this.Identity    = Info.Identity;
     this.ProcessID   = Info.ProcessID;
     this.UserID      = Info.UserID;
     this.Source      = Info.Source;
     this.Type        = Info.Type;
     this.ReceiveDate = Info.ReceiveDate;
     this.Status      = Info.Status;
     this.FinishDate  = Info.FinishDate;
     this.LctDate     = Info.LctDate;
     this.Args        = Info.Args;
     this.TaskModelID = Info.TaskModelID;
     this.Time        = Info.Time;
     this.Note        = Info.Note;
 }