private static void ApproveTask(TaskInfo task, string workflowId, string result) { var rnd = new Random((int)DateTime.Now.Ticks); var user = rnd.Next(2) == 0 ? "rredford" : "pnewman"; var assignTaskRequest = new AssignTaskToRequest { TaskOid = task.TaskOid, User = user }; var approveTaskRequest = new ApproveTaskRequest { TaskId = task.TaskOid.ToString(), CorrelationId = task.TaskCorrelationId, TaskCode = task.TaskCode, Result = result, UserName = user, WorkflowId = workflowId }; using (var src = new FlowTasksService()) { src.AssignTaskTo(assignTaskRequest); src.ApproveTask(approveTaskRequest); } }
/// <summary> /// ApproveTask /// </summary> /// <param name="request">Request</param> /// <returns>ApproveTaskResponse</returns> public ApproveTaskResponse ApproveTask(ApproveTaskRequest request) { ApproveTaskResponse response = null; if (_task.IsTaskNotification(Guid.Parse(request.TaskId))) { _task.CompleteNotification(Guid.Parse(request.TaskId)); return(new ApproveTaskResponse { TaskId = request.TaskId, WorkflowId = request.WorkflowId }); } var proxy = _proxyManager.GetProxyForWorkflow(request.WorkflowId); switch (request.CorrelationId) { case 1: response = proxy.ApproveTask1(request); break; case 2: response = proxy.ApproveTask2(request); break; case 3: response = proxy.ApproveTask3(request); break; case 4: response = proxy.ApproveTask4(request); break; case 5: response = proxy.ApproveTask5(request); break; default: throw new ArgumentException("Wrong CorrelationId must be 1-5"); } var toDispose = proxy as System.ServiceModel.ClientBase <IFlowTasksOperations>; if (toDispose != null) { toDispose.Close(); } return(response); }
public int AllowTask(ApproveTaskRequest taskRequest) { var userContext = _commonService.GetCurrentUserContext(); var dbApplicant = new taskapplicant(); dbApplicant.ID = taskRequest.TaskApplicantId; dbApplicant.APPLICANT_ID = taskRequest.ApplicantId; dbApplicant.TASK_ID = taskRequest.TaskId; MapAuditFields <taskapplicant>(ActionType.Update, dbApplicant); var result = _requestorRepository.AllowTask(dbApplicant); if (result > 0) { var task = _taskRepository.GetTaskById(taskRequest.TaskId); var offering = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault(); var applicant = _requestorRepository.GetTaskApplicantByApplicantId(taskRequest.TaskApplicantId); var ccMailAddress = applicant.task.CREATED_BY.ToString() + ";" + userContext.EmailId.ToString(); var mailMessage = EmailHelper.SendApproveRejectNotification(applicant.user.FIRST_NAME + Constants.Space + applicant.user.LAST_NAME, applicant.task.TASK_NAME, applicant.task.PROJECT_NAME, EmailType.Approved, applicant.user.EMAIL_ID, ccMailAddress, offering); var emailTracker = new EmailTracker { ToAddresses = applicant.user.EMAIL_ID, Subject = mailMessage.Subject, Body = mailMessage.Body, TaskId = taskRequest.TaskId, Source = ApplicationSource.WebApp.ToString() }; foreach (var address in emailTracker.CcAddresses) { if (ccMailAddress != null) { emailTracker.CcAddresses.Add(ccMailAddress); } } _emailTrackerService.InsertEmail(emailTracker); } return(result); }
/// <summary> /// ApproveTask /// </summary> /// <param name="request">Request</param> /// <returns>ApproveTaskResponse</returns> public ApproveTaskResponse ApproveTask(ApproveTaskRequest request) { return(Channel.ApproveTask(request)); }
public JsonResult AllowTask(ApproveTaskRequest allowTaskRequest) { var result = _requestorService.AllowTask(allowTaskRequest); return Json(result, JsonRequestBehavior.DenyGet); }
public ApproveTaskResponse ApproveTask5(ApproveTaskRequest request) { throw new NotImplementedException(); }