Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// ApproveTask
 /// </summary>
 /// <param name="request">Request</param>
 /// <returns>ApproveTaskResponse</returns>
 public ApproveTaskResponse ApproveTask(ApproveTaskRequest request)
 {
     return(Channel.ApproveTask(request));
 }
Ejemplo n.º 5
0
 public JsonResult AllowTask(ApproveTaskRequest allowTaskRequest)
 {
     var result = _requestorService.AllowTask(allowTaskRequest);
     return Json(result, JsonRequestBehavior.DenyGet);
 }
Ejemplo n.º 6
0
 public ApproveTaskResponse ApproveTask5(ApproveTaskRequest request)
 {
     throw new NotImplementedException();
 }