/// <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); } } }
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> { } });
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() }); }
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() }); }
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; }