public bool UpdateTaskList(UserTaskList model) { var realm = Realm.GetInstance(_databasePath); realm.Write(() => { realm.Add(model, true); }); return(true); }
public bool CreateTaskList(UserTaskList model) { var realm = Realm.GetInstance(_databasePath); var user = realm.All <User>().FirstOrDefault(x => x.Id == _userId); if (user == null) { return(false); } model.RefUser = user; var id = realm.All <UserTaskList>()?.LastOrDefault()?.Id ?? 0; model.Id = ++id; while (realm.All <UserTaskList>().FirstOrDefault(x => x.Id == id) != null) { id++; } realm.Write(() => { realm.Add(model); user.UserTaskLists.Add(model); }); return(true); }
public bool CreateTask(UserTaskList list, UserTask task) { var realm = Realm.GetInstance(_databasePath); var item = realm.All <UserTaskList>().FirstOrDefault(x => x.Id == list.Id); if (item == null) { return(false); } task.RefList = item; var id = realm.All <UserTask>().LastOrDefault()?.Id ?? 0; while (realm.All <UserTask>().FirstOrDefault(x => x.Id == id) != null) { id++; } task.Id = ++id; realm.Write(() => { realm.Add(task); item.UserTasks.Add(task); }); return(true); }
public static UserTaskListModel MapTaskList(UserTaskList model) { if (model == null) { return(null); } return(new UserTaskListModel() { Id = model.Id, Name = model.Name, UserTasks = MapUserTaskList(model.UserTasks).ToList() }); }
public bool DeleteTaskList(UserTaskList model) { var realm = Realm.GetInstance(_databasePath); var user = realm.All <User>().FirstOrDefault(x => x.Id == _userId); var taskList = realm.All <UserTaskList>().FirstOrDefault(x => x.Id == model.Id); if (user == null || taskList == null) { return(false); } realm.Write(() => { user.UserTaskLists.Remove(taskList); realm.Remove(taskList); }); return(true); }
public async Task BPMN_GetWaitingUserTasksByIdentity_ShouldFetchUserTaskList() { var processModelId = "test_consumer_api_usertask"; var payload = new ProcessStartRequestPayload <object>(); var callbackType = StartCallbackType.CallbackOnProcessInstanceCreated; ProcessStartResponsePayload processInstance = await this .fixture .ConsumerAPIClient .StartProcessInstance(this.fixture.DefaultIdentity, processModelId, "StartEvent_1", payload, callbackType); // Give the ProcessEngine time to reach the UserTask await Task.Delay(2000); UserTaskList userTasks = await this.fixture.ConsumerAPIClient.GetWaitingUserTasksByIdentity(this.fixture.DefaultIdentity); Assert.NotEmpty(userTasks.UserTasks); }
public async Task BPMN_FinishUserTask_ShouldFinishUserTask() { var processModelId = "test_consumer_api_usertask"; var payload = new ProcessStartRequestPayload <object>(); var callbackType = StartCallbackType.CallbackOnProcessInstanceCreated; ProcessStartResponsePayload processInstance = await this .fixture .ConsumerAPIClient .StartProcessInstance(this.fixture.DefaultIdentity, processModelId, "StartEvent_1", payload, callbackType); // Give the ProcessEngine time to reach the UserTask await Task.Delay(5000); UserTaskList userTasks = await this .fixture .ConsumerAPIClient .GetUserTasksForCorrelation(this.fixture.DefaultIdentity, processInstance.CorrelationId); Assert.NotEmpty(userTasks.UserTasks); var userTaskToBeFinished = userTasks.UserTasks.ElementAt(0); var userTaskResult = new UserTaskResult() { FormFields = new Dictionary <string, object>() }; userTaskResult.FormFields.Add("my_test_key", "my_test_value"); await this .fixture .ConsumerAPIClient .FinishUserTask( this.fixture.DefaultIdentity, processInstance.ProcessInstanceId, processInstance.CorrelationId, userTaskToBeFinished.FlowNodeInstanceId, userTaskResult ); }
public async Task <IActionResult> AssignTask(UserTaskList userTaskList) { var dict = GetCookies(); userTaskList.UserTask.UidToken = dict["uid"]; userTaskList.UserTask.Id = Guid.NewGuid().ToString(); userTaskList.UserTask.AssignedDateTime = DateTime.Now; userTaskList.UserTask.Complete = false; if (userTaskList.UserTask.SendNow) { userTaskList.UserTask.SendTime = DateTime.Now; } /* * if (userTaskList.UserTask.SendTime < DateTime.Now && !userTaskList.UserTask.SendNow) * { * userTaskList.UserTask.SendTime = userTaskList.UserTask.SendTime.AddDays(1); * } */ var jData = JsonConvert.SerializeObject(userTaskList.UserTask); await _data.UpdateAndClearCache(dict, Enums.DataType.UserTasks, Enums.UpdateType.Add, jData); //Send out notification var messageId = await ScheduleNotification(userTaskList.UserTask, dict); // update usertask message id userTaskList.UserTask.MessageId = messageId; var j2Data = JsonConvert.SerializeObject(userTaskList.UserTask); await _data.UpdateAndClearCache(dict, Enums.DataType.UserTasks, Enums.UpdateType.Edit, j2Data); if (userTaskList.UserTask.SendNow) { return(RedirectToAction("ViewHistory")); } return(RedirectToAction("ViewUpcomingTasks")); }