コード例 #1
0
        public virtual ActionResult CreateWorkflow(string operationNumber)
        {
            var workflowType = _k2IntegrationOpus.GetWorkflowType(operationNumber);

            var operation = _creationFormService.GetOperation(operationNumber);

            var validators = _k2IntegrationOpus
                             .GetRoleByOperationTypeVM(
                string.Empty,
                workflowType,
                operation.OperationData.OperationType.Code,
                operationNumber);

            if (!validators.IsValid)
            {
                return(View(new CreationK2TaskViewModel
                {
                    Validators = validators.Models.ToList(),
                    Instructions = string.Empty,
                    OperationNumber = operationNumber
                }));
            }

            var commentsCreation = _k2DataService.GetCommentsCreation(operationNumber);

            var modelTaskView = new CreationK2TaskViewModel
            {
                UserComments    = commentsCreation.IsValid ? commentsCreation.CommentList : null,
                Instructions    = Localization.GetText("OP.CR.K2.StartWorkflow.Instructions"),
                UserName        = IDBContext.Current.UserName,
                Validators      = validators.Models.ToList(),
                OperationNumber = operationNumber
            };

            var existsWorkflowTaskRegister =
                _workflowTaskRegisterRepository.Any(o => o.OperationNumber.Equals(operationNumber));

            if (!existsWorkflowTaskRegister)
            {
                foreach (var validator in validators.Models)
                {
                    var newWorkflowTaskRegister = new WorkflowTaskRegister
                    {
                        OperationNumber = operationNumber,
                        StatusName      = validator.Status,
                        UserProfile     = validator.Role
                    };

                    _workflowTaskRegisterRepository.Create(newWorkflowTaskRegister);
                }
            }

            ViewBag.SerializedViewModel = PageSerializationHelper.SerializeObject(modelTaskView);

            return(View(modelTaskView));
        }
コード例 #2
0
        public virtual ActionResult TaskDetail(TaskDataModel model)
        {
            var operation = _creationFormService.GetOperation(model.OperationNumber);

            var validators = _k2IntegrationOpus
                             .GetRoleByOperationTypeVM(
                model.UserProfile,
                model.TaskTypeCode.Substring(0, 9),
                operation.OperationData.OperationType.Code,
                model.OperationNumber);

            if (!validators.IsValid)
            {
                return(View(new CreationK2TaskViewModel
                {
                    Validators = validators.Models.ToList(),
                    Instructions = string.Empty,
                    OperationNumber = model.OperationNumber
                }));
            }

            var commentsResponse = _k2DataService.GetCommentsCreation(model.OperationNumber);

            var modelTaskView = new CreationK2TaskViewModel
            {
                UserComments     = commentsResponse.IsValid ? commentsResponse.CommentList : null,
                Instructions     = Localization.GetText("OP.CR.K2.ApproveTaskWorkflow.Instructions"),
                TaskDataModel    = model,
                UserName         = IDBContext.Current.UserName,
                Validators       = validators.Models.ToList(),
                UserRoleCreation = validators.Models.Where(v => v.Order > model.TaskTypeId)
                                   .Select(v => v.Role).FirstOrDefault(),
                OperationNumber = model.OperationNumber
            };

            ViewBag.SerializedViewModel = PageSerializationHelper.SerializeObject(modelTaskView);

            return(View(modelTaskView));
        }