Example #1
0
        public async Task <IActionResult> Done(int id, TaskUser p)
        {
            TaskUser task = await _context.TaskUser.FindAsync(id);

            if (task.Done)
            {
                return(RedirectToAction("index", "Home"));
            }

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (task.UserId != user.Id)
            {
                if (!_isAdmin)
                {
                    return(RedirectToAction("Error"));
                }
            }

            task.Done                  = true;
            task.DateOfEnd             = System.DateTime.Now;
            _context.Entry(task).State = EntityState.Modified;
            _context.SaveChanges();

            return(RedirectToAction("index", "Home"));
        }
        public async Task <ActionResult <ProjectTask> > PostProjectTask(TaskUser task)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ErrorFunctionality.ObjectErrorReturn(400, ModelState.Values)));
            }

            var authHeader = Request.Headers["Authorization"].ToString();
            var user       = await _context.Users.FirstOrDefaultAsync(u => "Bearer " + u.Token == authHeader);

            if (user.TeamId == null)
            {
                ModelState.AddModelError("", "Nie posiadasz zespołu, aby dodać zadanie");
                return(BadRequest(ErrorFunctionality.ObjectErrorReturn(400, ModelState.Values)));
            }

            var userToAssign = await _context.Users.FirstOrDefaultAsync(u => u.Id == task.StudentId && u.TeamId == user.TeamId);

            if (userToAssign == null)
            {
                ModelState.AddModelError("", "Taki użytkownik nie istnieje w twoim zespole");
                return(BadRequest(ErrorFunctionality.ObjectErrorReturn(400, ModelState.Values)));
            }

            task.ProjectTask.Student = userToAssign;
            task.ProjectTask.TeamId  = user.TeamId;

            _context.Tasks.Add(task.ProjectTask);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("PostProjectTask", new { id = task.ProjectTask.Id }, task.ProjectTask));
        }
Example #3
0
        protected void gdTaskUsersNotes_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            TaskUser taskUser = new TaskUser();

            TextBox note   = (TextBox)gdTaskUsersNotes.Rows[e.RowIndex].FindControl("txtNotes");
            Label   NoteId = (Label)gdTaskUsersNotes.Rows[e.RowIndex].FindControl("lblNoteId");

            hdnNoteId.Value        = NoteId.Text;
            taskUser.Notes         = note.Text;
            taskUser.UserId        = Convert.ToInt32(Session[SessionKey.Key.UserId.ToString()]);
            taskUser.UserFirstName = Session["Username"].ToString();
            taskUser.Id            = Convert.ToInt64(hdnNoteId.Value);
            if (!string.IsNullOrEmpty(taskUser.Notes))
            {
                taskUser.FileType = Convert.ToString((int)JGConstant.TaskUserFileType.Notes);
            }
            taskUser.IsCreatorUser  = false;
            taskUser.TaskId         = TaskId;
            taskUser.Status         = Convert.ToInt16(TaskStatus);
            taskUser.UserAcceptance = UserAcceptance;
            TaskGeneratorBLL.Instance.UpadateTaskNotes(ref taskUser);

            gdTaskUsersNotes.EditIndex = -1;
            LoadTaskData(TaskId);
        }
Example #4
0
        public async Task <IActionResult> Details(int id)
        {
            TaskUser task = await _context.TaskUser
                            .Where(a => a.Id == id)
                            .Include(a => a.User)
                            .Include(l => l.Location)
                            .FirstAsync();

            if (task.Location == null)
            {
                task.LocationId = _context.Location.FirstOrDefault().Id;
                _context.Update(task);
                _context.SaveChanges();
            }

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (task.UserId != user.Id)
            {
                if (!_isAdmin)
                {
                    return(RedirectToAction("Error"));
                }
            }

            return(View(task));
        }
        public bool SaveOrDeleteTaskUserFiles(TaskUser objTaskUser)
        {
            try
            {
                SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase();
                {
                    DbCommand command = database.GetStoredProcCommand("SP_SaveOrDeleteTaskUserFiles");

                    command.CommandType = CommandType.StoredProcedure;
                    database.AddInParameter(command, "@Mode", DbType.UInt16, objTaskUser.Mode);
                    database.AddInParameter(command, "@Id", DbType.UInt64, objTaskUser.Id);
                    database.AddInParameter(command, "@TaskId", DbType.UInt64, objTaskUser.TaskId);
                    database.AddInParameter(command, "@UserId", DbType.String, objTaskUser.UserId);
                    database.AddInParameter(command, "@Attachment", DbType.Boolean, objTaskUser.Attachment);

                    int result = database.ExecuteNonQuery(command);

                    if (result > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            catch (Exception ex)
            {
                return(false);
            }
        }
Example #6
0
        public IActionResult Creat(TaskUser taskUser)
        {
            if (taskUser != null)
            {
                TaskUser task = _db.TaskUsers.FirstOrDefault(t => t.UserId == taskUser.UserId);
                if (task == null)
                {
                    TaskUser taskUser1 = new TaskUser()
                    {
                        Task   = taskUser.Task,
                        UserId = taskUser.UserId
                    };
                    _db.TaskUsers.Add(taskUser1);
                }
                else
                {
                    task.Task = taskUser.Task;
                    _db.TaskUsers.Update(task);
                }

                _db.SaveChanges();
                string id = taskUser.UserId;
                return(Redirect($"~/Account/Details/{taskUser.UserId}"));
            }

            return(RedirectToAction("Details", "Account"));
        }
Example #7
0
        public ResponseMessage RemoveUserFromTask(int taskId, string userId)
        {
            ResponseMessage response = new ResponseMessage();

            try
            {
                var task = _taskRepository.Get(x => x.Id == taskId);
                var user = _aspnetUserRepository.Get(x => x.Id == userId);
                if (task == null || user == null)
                {
                    response.status = "failed";
                    response.error_messages.Add(ResponseErrors.resource_not_found_at_specified_endpoint.ToString());
                    return(response);
                }

                TaskUser userTask = _work.Repository <TaskUser>().Get(x => x.TaskId == taskId && x.UserId == userId);
                if (userTask == null)
                {
                    response.status = "failed";
                    response.error_messages.Add(ResponseErrors.resource_not_found_at_specified_endpoint.ToString());
                    return(response);
                }

                _taskUserRepository.Remove(userTask);
                //_work.Repository<TaskUser>().Remove(userTask);
                response.status = ResponseStatus.success.ToString();
                return(response);
            }
            catch (Exception ex)
            {
                response.status = ResponseErrors.internal_server_error.ToString();
                response.error_messages.Add(ex.Message);
                return(response);
            }
        }
        public async Task <IActionResult> CreateNewCar([FromBody] TaskUserResource taskUserResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var result = false;
            var status = string.Empty;

            try
            {
                var login = await rep_login.GetUser(taskUserResource.UserId).ConfigureAwait(false);

                var taskUser = new TaskUser
                {
                    Description = taskUserResource.Description,
                    LastUpdate  = DateTime.Now,
                    LoginId     = login.Id,
                    Check       = taskUserResource.Check
                };
                await repository.Add(taskUser).ConfigureAwait(false);

                await uow.CompleteAsync().ConfigureAwait(false);

                result = true;
            }
            catch (System.Exception e)
            {
                System.Console.WriteLine("Error On CreateNewCar controller endpoing. " + e.StackTrace);
                status = e.StackTrace;
            }
            return(Json(new { Success = result, Status = status }));
        }
        //En fonction de l'attribution du message dans la tâche et du rôle du user => il voit le message ou pas
        private static bool CanSeeMessage(ClConversation elem, TaskUser user, ServiceGateWayClient gatewayITask)
        {
            var recipientsTaskUser = new List <string>();

            if (elem.Confidential == 1)
            {
                var listrec = gatewayITask.GetAllTaskUser(false);
                //récupération des personnes qui ont reçu le message
                foreach (var rec in elem.Recipient)
                {
                    var elt = listrec.FirstOrDefault(a => a.HrIdTechnique.ToString() == rec);
                    if (elt != null)
                    {
                        recipientsTaskUser.Add(elt.HrIdTechnique.ToString());
                    }
                }
            }
            //remove draft messages from others
            if (elem.ContributionType == 8 && elem.AuthorAgent.HrIdTechnique.ToString() != user.Id)
            {
                return(false);
            }

            if ((elem.Confidential == 0) || (elem.Confidential == 1 && (elem.AuthorAgent.HrIdTechnique.ToString() == user.Id || recipientsTaskUser.Contains(user.Id))))
            {
                return(true);
            }
            return(false);
        }
Example #10
0
        public void BeginExam(BeginExamModel data)
        {
            var proxy = new WorkflowProxy();

            string processName = data.ProcessName;

            //获取下一步的NodeName,用于获取该Node对应的Team和用户列表
            string nodeName = proxy.GetFirstNodeName(processName);

            //获取node对应的用户
            List <User> users = teamRepo.GetAllUsersByNodeName(processName, nodeName);

            foreach (User user in users)
            {
                var processInstance = new ProcessInstance
                {
                    ProcessName = processName,
                    Actor       = user.UserID,
                    ActorName   = user.UserName
                };

                var taskUser = new TaskUser();
                taskUser.UserId   = user.UserID;
                taskUser.UserName = user.UserName;
                taskUser.UserRole = "Student";
                processInstance.IncludeActors.Add(taskUser);
                processInstance = proxy.CreateProcessInstance(processInstance);
                LogHelper.Instanse.WriteInfo(
                    string.Format("发起流程,用户-{0},InstanceID-{1}", taskUser.UserId, processInstance.InstanceID));
            }
        }
        public async Task <IActionResult> Add(TaskUser p)
        {
            if (ModelState.IsValid)
            {
                var task = new TaskUser {
                    DateOfTest    = Input.DateOfTest + Input.Time,
                    Time          = Input.Time,
                    DateOfEnd     = null,
                    Link          = Input.Link,
                    StudentId     = Input.StudentId,
                    StudentName   = Input.StudentName,
                    UserId        = Input.UserId,
                    LocationId    = Input.LocationId,
                    IsDeleted     = false,
                    IsHourControl = Input.IsHourControl
                };

                if (Input.LocationId.HasValue)
                {
                    var LocationName = _context.Location.Find(Input.LocationId).FundationName;
                    task.FundationName = LocationName;
                }

                var taskResult = await _context.TaskUser.AddAsync(task);

                var result = await _context.SaveChangesAsync();
            }

            return(RedirectToAction("List", "TaskUser"));
        }
 public IActionResult Add()
 {
     ViewData["Time"]       = new SelectList(TaskUser.TimeSpansInRange(TimeSpan.Parse("00:00"), TimeSpan.Parse("23:45"), TimeSpan.Parse("00:15")));
     ViewData["UserId"]     = new SelectList(_userManager.Users.Where(a => a.EmailConfirmed == false).ToList(), "Id", "Name");
     ViewData["LocationId"] = new SelectList(_context.Location.Where(a => a.IsDeleted == false).ToList(), "Id", "FundationName");
     return(View());
 }
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Time"]       = new SelectList(TaskUser.TimeSpansInRange(TimeSpan.Parse("00:00"), TimeSpan.Parse("23:45"), TimeSpan.Parse("00:15")));
            ViewData["UserId"]     = new SelectList(_userManager.Users.ToList(), "Id", "Name");
            ViewData["LocationId"] = new SelectList(_context.Location.ToList(), "Id", "FundationName");

            TaskUser task = await _context.TaskUser
                            .Where(a => a.Id == id)
                            .Include(a => a.User)
                            .Include(l => l.Location)
                            .FirstAsync();

            if (task.Location == null)
            {
                task.LocationId = _context.Location.FirstOrDefault().Id;
                _context.Update(task);
                _context.SaveChanges();
            }

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (task.UserId != user.Id)
            {
                if (!_isAdmin)
                {
                    return(RedirectToAction("Error"));
                }
            }

            return(View(task));
        }
        /// <summary>
        /// if return: -1(error), 1(pass), 0(fail)
        /// </summary>
        /// <param name="datasetname">string</param>
        /// <param name="x">int</param>
        /// <param name="y">int</param>
        /// <returns>Task.FromResult</returns>
        public int GetPassFail(string datasetname, int x, int y)
        {
            TaskUser TU = new TaskUser("https://api.logyhog.com/api/", "66JCV1", "testdoggy", $"blazor{RandomString(6)}");

            TU.Setlimits("44", 5, 5, 3, 3);
            var response = TU.XY(datasetname, x, y);

            //-1 is a error
            if (response == null)
            {
                return(-1);
            }
            if (response is Rectangle)
            {
                if (response is Rectangle && response.DatasetID < 0)
                {
                    return(0);
                }
                else
                {
                    return(-1);
                }
            }
            return(-1);
        }
Example #15
0
        private static void UploadUserAttachements(long TaskId, string attachments, JG_Prospect.Common.JGConstant.TaskFileDestination objTaskFileDestination)
        {
            //User has attached file than save it to database.
            if (!String.IsNullOrEmpty(attachments))
            {
                TaskUser taskUserFiles = new TaskUser();

                if (!string.IsNullOrEmpty(attachments))
                {
                    String[] files = attachments.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);

                    foreach (String attachment in files)
                    {
                        String[] attachements = attachment.Split('@');

                        taskUserFiles.Attachment          = attachements[0];
                        taskUserFiles.OriginalFileName    = attachements[1];
                        taskUserFiles.Mode                = 0; // insert data.
                        taskUserFiles.TaskId              = TaskId;
                        taskUserFiles.UserId              = Convert.ToInt32(HttpContext.Current.Session[JG_Prospect.Common.SessionKey.Key.UserId.ToString()]);
                        taskUserFiles.TaskUpdateId        = null;
                        taskUserFiles.UserType            = JGSession.IsInstallUser ?? false;
                        taskUserFiles.TaskFileDestination = objTaskFileDestination;
                        TaskGeneratorBLL.Instance.SaveOrDeleteTaskUserFiles(taskUserFiles);  // save task files
                    }
                }
            }
        }
Example #16
0
        public void BeginExam(BeginExamModel data)
        {
            var proxy = new WorkflowProxy();

            string processName = data.ProcessName;

            //获取下一步的NodeName,用于获取该Node对应的Team和用户列表
            string nodeName = proxy.GetFirstNodeName(processName);

            //获取node对应的用户
            List<User> users = teamRepo.GetAllUsersByNodeName(processName, nodeName);

            foreach (User user in users)
            {
                var processInstance = new ProcessInstance
                {
                    ProcessName = processName,
                    Actor = user.UserID,
                    ActorName = user.UserName
                };

                var taskUser = new TaskUser();
                taskUser.UserId = user.UserID;
                taskUser.UserName = user.UserName;
                taskUser.UserRole = "Student";
                processInstance.IncludeActors.Add(taskUser);
                processInstance = proxy.CreateProcessInstance(processInstance);
                LogHelper.Instanse.WriteInfo(
                    string.Format("发起流程,用户-{0},InstanceID-{1}", taskUser.UserId, processInstance.InstanceID));
            }
        }
        public bool UpdateTaskUserAcceptance(ref TaskUser objTaskUser)
        {
            try
            {
                SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase();
                {
                    DbCommand command = database.GetStoredProcCommand("usp_UpdateTaskAcceptance");

                    command.CommandType = CommandType.StoredProcedure;

                    database.AddInParameter(command, "@TaskId", DbType.Int64, objTaskUser.TaskId);
                    database.AddInParameter(command, "@UserId", DbType.String, objTaskUser.UserId);
                    database.AddInParameter(command, "@Acceptance", DbType.Boolean, objTaskUser.UserAcceptance);

                    int result = database.ExecuteNonQuery(command);

                    if (result > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            catch (Exception ex)
            {
                return(false);
            }
        }
Example #18
0
 internal static void AssertUserEqual(TaskUser expected, TaskUser actual)
 {
     Assert.AreEqual(expected.Id, actual.Id);
     Assert.AreEqual(expected.FirstName, actual.FirstName);
     Assert.AreEqual(expected.LastName, actual.LastName);
     Assert.AreEqual(expected.Email, actual.Email);
     Assert.AreEqual(expected.Type, actual.Type);
     Assert.AreEqual(expected.Active, actual.Active);
 }
        public IActionResult Add(TaskUser task)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(400));
            }

            repository.AddTask(task);
            return(Ok());
        }
Example #20
0
        public virtual TaskUser GetUserTask(string userId)
        {
            TaskUser taskUser = _db.TaskUsers.FirstOrDefault(t => t.UserId == userId);

            if (taskUser != null)
            {
                return(taskUser);
            }
            taskUser = new TaskUser();
            return(taskUser);
        }
Example #21
0
        // GET: Task

        // controleur pour la view d'assignation des tâches
        public ActionResult TaskAssign(string description, int idProjet, bool newTask)
        {
            TaskAssign thisTask = new TaskAssign();

            thisTask         = thisTask.getTaskInfo(description, idProjet);
            thisTask.NewTask = newTask;
            TaskUser taskUser = new TaskUser();

            thisTask.TaskUserList = taskUser.getTaskUser(thisTask.IdTask);

            return(View(thisTask));
        }
        public TaskUser SetCompletedTask(int taskId, bool isCompleted)
        {
            TaskUser task = context.Tasks
                            .FirstOrDefault(t => t.Id == taskId);

            if (task != null)
            {
                task.IsCompleted = isCompleted;
                context.SaveChanges();
            }
            return(task);
        }
        public TaskUser DeleteTask(int taskId)
        {
            TaskUser task = context.Tasks
                            .FirstOrDefault(t => t.Id == taskId);

            if (task != null)
            {
                context.Remove(task);
                context.SaveChanges();
            }
            return(task);
        }
Example #24
0
        public string deleteTaskUser(int idTask, string matricule)
        {
            TaskUser taskUser = new TaskUser();

            if (taskUser.deleteTaskUser(idTask, matricule))
            {
                return("L'employé a été supprimé.");
            }
            else
            {
                return("L'employé ne peut pas être supprimé.");
            }
        }
Example #25
0
        public ActionResult AddUserToTask(int userID, int taskID, int projectID, int sprintID)
        {
            if (!_context.TaskUsers.Any(p => p.UserID == userID && p.SprintTaskID == taskID))
            {
                TaskUser taskUser = new TaskUser();
                taskUser.UserID       = userID;
                taskUser.SprintTaskID = taskID;
                _context.TaskUsers.Add(taskUser);
                _context.SaveChanges();
            }

            return(RedirectToAction("UserInPro", "TaskView", new { projectID, taskID, sprintID }));
        }
        public IActionResult Delete(int id)
        {
            TaskUser task = repository.DeleteTask(id);

            if (task == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok());
            }
        }
        public IActionResult SetCompleted(int id, bool isCompleted)
        {
            TaskUser task = repository.SetCompletedTask(id, isCompleted);

            if (task == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok());
            }
        }
        /**/

        /*
         * NAME:
         *      RemoveUserFromTask - unassigns a user from a task
         * SYNOPSIS:
         *      RemoveUserFromTask(TaskUser taskUser, string updaterId)
         *           taskUser --> the TaskUser object that represents the user's assignment to a task
         *          updaterId --> the id of the user who is removing the user from the task
         * DESCRIPTION:
         *      Accesses the database context in order to unassign the user from the task
         * RETURNS
         * AUTHOR
         *      Biplab Thapa Magar
         * DATE
         *      09/06/2020
         * /
         * /**/
        public void RemoveUserFromTask(TaskUser taskUser, string updaterId)
        {
            //create a TaskUserUpdate entry
            var taskUserUpdate = new TaskUserUpdate {
                TaskId      = taskUser.TaskId,
                AppUserId   = taskUser.AppUserId,
                UpdaterId   = updaterId,
                TimeRemoved = DateTime.Now
            };

            _context.TaskUsers.Remove(taskUser);

            AddTaskUserUpdate(taskUserUpdate);
        }
Example #29
0
        public IHttpActionResult CreateUser(NewUserBindingModel model)
        {            
            var user = new TaskUser { 
                    UserName = model.UserName,
                    Email = model.Email,
                    LockoutEndDateUtc = DateTime.Now
                };  
            var result = UserManager.Create(user, model.Password);

            if (result.Succeeded)
                return Ok(user);
            else
                return InternalServerError(new Exception(String.Join(", ", result.Errors)));
        }
Example #30
0
 internal static TaskDetails GetCreatedTask(TaskUser assignor, TaskUser assignee, TaskFile file)
 {
     return(new TaskDetails(
                "e53ea032-f859-4e4b-94e2-43131fcf7243",
                "Check if we need to update the website",
                new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(1534460249892),
                null,
                new DateTime(2018, 8, 29, 0, 0, 0, DateTimeKind.Utc),
                1535612399999,
                assignor,
                new[] { assignee }.ToList(),
                Api.Tasks.TaskStatus.Open,
                file));
 }
        public TaskUser UpdateTask(TaskUser task)
        {
            TaskUser taskUser = context.Tasks
                                .FirstOrDefault(t => t.Id == task.Id);

            if (taskUser != null)
            {
                taskUser.Message                  = task.Message;
                taskUser.IsCompleted              = task.IsCompleted;
                taskUser.PlanedStartDateTime      = task.PlanedStartDateTime;
                taskUser.PlanedComplitionDateTime = task.PlanedComplitionDateTime;
                context.SaveChanges();
            }
            return(taskUser);
        }
Example #32
0
 public TaskUser SaveTaskUser(TaskUser _TaskUser)
 {
     try
     {
         using (var context = new ProjectManagementEntities())
         {
             context.TaskUser.Add(_TaskUser);
             int numberOfInserted = context.SaveChanges();
             return(numberOfInserted > 0 ? _TaskUser : null);
         }
     }
     catch (System.Exception exc)
     {
         throw exc;
     }
 }
Example #33
0
        public IHttpActionResult Put(TaskUser update)
        {
            var user = UserManager.FindById(update.Id);
            if (user == null)
                return NotFound();

            //user.UserType = update.UserType;
            user.Email = update.Email;

            UserManager.Update(user);
            return Ok(user);
        }
Example #34
0
        /// <summary>
        /// </summary>
        /// <param name="instanceid">流程ID</param>
        /// <param name="tokenid">节点ID</param>
        /// <param name="transitionName">按钮名称(离开当前节点的TransitionName)</param>
        public void Process(ProcessModel data)
        {
            var proxy = new WorkflowProxy();

            var processInstance = new ProcessInstance();
            processInstance.InstanceID = data.InstanceId;
            processInstance.TokenID = data.TokenId;
            processInstance.RouterName = data.TransitionName;

            var item = new VariableInstance();
            if (processInstance.RouterName == "到是否参加社会保险")
            {
                int flag = 0;
                if (!string.IsNullOrWhiteSpace(data.TemplateData))
                {
                    dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject<object>(data.TemplateData);
                    string idCardNumber = jsonObj.ShenFenZhengHaoMa;
                    if (socialSpRepo.Entities.Any(m => m.IDCardNumber == idCardNumber))
                    {
                        flag = 1;
                    }
                    else
                    {
                        flag = 0;
                        socialSpRepo.Insert(new SocialSecurityPersonnel()
                        {
                            IDCardNumber = idCardNumber
                        });
                    }
                }
                item.VariableName = "flag";
                item.Value = flag;
                processInstance.Variables.Add(item);
            }

            //将表单数据保存至流程的变量中,以便在审核环节能够读出表单的数据(变量值不能超过2000)
            if (!string.IsNullOrWhiteSpace(data.TemplateData))
            {
                VariableInstance pageUrl = proxy.GetCurrentTaskSetPage(processInstance.InstanceID, processInstance.TokenID);
                item = new VariableInstance();
                item.Value = data.TemplateData;
                item.VariableName = pageUrl.Value.ToString();
                processInstance.Variables.Add(item);
            }

            //获取下一个节点名并启动流程
            string userId = "";
            var list = proxy.GetTransitionNextNodeRoles(data.DefineName, data.TokenName, data.TransitionName);
            if (list != null && list.Count > 0)
            {

                string nodeName = list[0];
                User choosenUser = teamRepo.GetNextUserByNodeName(data.DefineName, nodeName);
                //var choosenUser = GetRandomUserId(users);
                if (choosenUser == null)
                {
                    throw new BusinessException("找不到下一步处理人");
                }

                assignedUserRepo.Insert(new AssignedUser
                {
                    InDate = DateTime.Now,
                    InstanceID = data.InstanceId,
                    UserID = choosenUser.UserID,
                    Nodename = nodeName,
                    ProcessName = data.DefineName,
                    InUser = data.User.UserID
                });

                var user = new TaskUser { UserId = choosenUser.UserID, UserName = choosenUser.UserName };
                userId = choosenUser.UserID;
                processInstance.IncludeActors.Add(user);
            }
            proxy.ProcessExecuter(processInstance);

            LogHelper.Instanse.WriteInfo(
                string.Format("InstanceID:-{0},TokenID:-{1},推给了-{2}",
                    processInstance.InstanceID, processInstance.TokenID, userId));

            if (!string.IsNullOrEmpty(data.TemplateData))
            {
                userAnswerRepo.Insert(new UserAnwser()
                {
                    TemplateData = data.TemplateData,
                    TemplateName = data.TemplateName,
                    InDate = DateTime.Now,
                    ProcessName = data.DefineName,
                    NodeName = data.TokenName,
                    UserID = data.User.UserID,
                    InstanceID = data.InstanceId,
                    TokenID = data.TokenId
                });
            }
        }