public virtual JsonResult RejectTask(string operationNumber, string userRole)
        {
            var response = new StartAdvanceWorkflowResponse();

            var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]);
            var viewModel       = PageSerializationHelper.DeserializeObject <MissionsK2TaskViewModel>(jsonDataRequest.SerializedData);

            var parameters = new Dictionary <string, object>();

            parameters.Add(K2HelperOpus.TaskUserName, viewModel.UserName);
            parameters.Add(K2HelperOpus.UserRole, viewModel.UserRoleMissions);

            try
            {
                response = SendWorkflowAction(
                    viewModel.TaskDataModel.Code,
                    viewModel.TaskDataModel.TaskFolio,
                    operationNumber,
                    viewModel.TaskDataModel.TaskTypeCode,
                    parameters,
                    K2IntegrationEnumerator.GeneralActions.RejectWorkflow,
                    viewModel.TaskDataModel.TaskId);
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();
            }

            return(Json(response));
        }
        public virtual JsonResult StartWorkflow(string operationNumber, string userName)
        {
            var response = new StartAdvanceWorkflowResponse();

            try
            {
                Dictionary <string, object> parameters = new Dictionary <string, object>();
                parameters.Add(K2HelperOpus.TaskUserName, userName);

                var workflowCode = _k2IntegrationOpus.GetWorkflowType(operationNumber);

                response = SendWorkflowAction(workflowCode, "0", operationNumber, null, parameters, K2IntegrationEnumerator.GeneralActions.StartWorkflow, 0);
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();
            }

            return(Json(response));
        }
        private StartAdvanceWorkflowResponse SendWorkflowAction(
            string workflowType,
            string folioId,
            string operationNumber,
            string taskTypeCode,
            Dictionary <string, object> parameters,
            K2IntegrationEnumerator.GeneralActions action,
            int taskId)
        {
            var response = new StartAdvanceWorkflowResponse();

            string entityType = K2HelperOpus.entityTypeOpusMission;

            try
            {
                if (action == K2IntegrationEnumerator.GeneralActions.StartWorkflow)
                {
                    response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(workflowType, folioId, operationNumber, entityType, taskTypeCode, parameters, action, taskId);
                }
                else if (action == K2IntegrationEnumerator.GeneralActions.ApproveWorkflow)
                {
                    response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(workflowType, folioId, operationNumber, entityType, taskTypeCode, parameters, action, taskId);
                }
                else if (action == K2IntegrationEnumerator.GeneralActions.RejectWorkflow)
                {
                    response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(workflowType, folioId, operationNumber, entityType, taskTypeCode, parameters, action, taskId);
                }
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();
            }

            return(response);
        }
Example #4
0
        private StartAdvanceWorkflowResponse SendWorkflowAction(
            string workflowType,
            string folioId,
            string operationNumber,
            string taskTypeCode,
            Dictionary <string, object> parameters,
            K2IntegrationEnumerator.GeneralActions action,
            int taskId)
        {
            Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                          string.Format("Enter method for operation: {0}", operationNumber));

            var response = new StartAdvanceWorkflowResponse();

            string entityType = K2HelperOpus.EntityTypeOpusCreation;

            try
            {
                if (action == K2IntegrationEnumerator.GeneralActions.StartWorkflow)
                {
                    Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                                  "Start workflow ...");

                    response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(
                        workflowType,
                        folioId,
                        operationNumber,
                        entityType,
                        taskTypeCode,
                        parameters,
                        action,
                        taskId);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                                  "Start workflow ... Done! Response: " + response.IsValid);

                    return(response);
                }

                if (action == K2IntegrationEnumerator.GeneralActions.ApproveWorkflow)
                {
                    Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                                  "Approve workflow ...");

                    response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(
                        workflowType,
                        folioId,
                        operationNumber,
                        entityType,
                        taskTypeCode,
                        parameters,
                        action,
                        taskId);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                                  "Approve workflow ... Done! Response: " + response.IsValid);

                    return(response);
                }

                Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                              "Reject workflow ...");

                response.IsValid = _k2IntegrationOpus.StartAdvanceWorkflowOpus(
                    workflowType,
                    folioId,
                    operationNumber,
                    entityType,
                    taskTypeCode,
                    parameters,
                    action,
                    taskId);

                Logger.GetLogger().WriteDebug("CreationK2Controller - SendWorkflowAction",
                                              "Reject workflow ... Done! Response: " + response.IsValid);

                return(response);
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();

                return(response);
            }
        }
Example #5
0
        public virtual JsonResult ProcessWorkFlow(string operationNumber)
        {
            Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                          "Going to process workflow with operation:" + operationNumber);

            UpdateStateOperationResponse response = new UpdateStateOperationResponse();

            var responseCheck = _creationFormService.CheckFundAmountsByOperationType(operationNumber);

            if (!responseCheck.IsValid)
            {
                return(Json(responseCheck));
            }

            var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]);
            var viewModel       = PageSerializationHelper
                                  .DeserializeObject <CreationK2TaskViewModel>(jsonDataRequest.SerializedData);

            response.IsRegistred = false;

            try
            {
                Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                              "Going to UpdateCreationWorkFlowViewModel ...");

                viewModel.UpdateCreationWorkFlowViewModel(jsonDataRequest.ClientFieldData);

                Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                              "Going to UpdateCreationWorkFlowViewModel ... Done!");

                Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                              "Going to UpdateCreationK2 ...");

                response.IsValid = _creationFormService.UpdateCreationK2(viewModel).IsValid;

                Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                              "Going to UpdateCreationK2 ... Done!");

                var workFlow = jsonDataRequest.ClientFieldData
                               .FirstOrDefault(o => o.Name.Equals("changeStatus"));

                Dictionary <string, object> parameters = new Dictionary <string, object>();
                parameters.Add(K2HelperOpus.TaskUserName, viewModel.UserName);

                StartAdvanceWorkflowResponse responseWF = new StartAdvanceWorkflowResponse();

                Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                              string.Format(
                                                  "Okay, now going to {0}; User name: {1}",
                                                  workFlow.Value,
                                                  viewModel.UserName));

                switch (workFlow.Value)
                {
                case "StartWorkflow":

                    var workflowCode =
                        _k2IntegrationOpus.GetWorkflowType(viewModel.OperationNumber);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ...");

                    responseWF = SendWorkflowAction(
                        workflowCode,
                        "0",
                        viewModel.OperationNumber,
                        null,
                        parameters,
                        K2IntegrationEnumerator.GeneralActions.StartWorkflow,
                        0);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ... Done! Response: " + responseWF.IsValid);

                    if (!responseWF.IsValid)
                    {
                        throw new ApplicationException(responseWF.ErrorMessage);
                    }

                    response.IsValid = true;
                    return(Json(response));

                case "ApproveWorkflow":

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ...");

                    responseWF = SendWorkflowAction(
                        viewModel.TaskDataModel.Code,
                        viewModel.TaskDataModel.TaskFolio,
                        viewModel.OperationNumber,
                        viewModel.TaskDataModel.TaskTypeCode,
                        parameters,
                        K2IntegrationEnumerator.GeneralActions.ApproveWorkflow,
                        viewModel.TaskDataModel.TaskId);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ... Done! Response: " + responseWF.IsValid);

                    if (!responseWF.IsValid)
                    {
                        throw new ApplicationException(responseWF.ErrorMessage);
                    }

                    var stateOperation = _creationFormService.StateOpertion(
                        operationNumber,
                        true,
                        viewModel.TaskDataModel.TaskTypeCode);

                    if (!stateOperation.IsValid)
                    {
                        throw new ApplicationException(stateOperation.ErrorMessage);
                    }

                    response.IsRegistred     = stateOperation.IsRegistred;
                    response.OperationNumber = stateOperation.OperationNumber;
                    response.IsValid         = true;
                    response.IsValidSap      = stateOperation.IsValidSap;
                    response.MessageCreation = stateOperation.MessageCreation;

                    if (string.IsNullOrEmpty(response.OperationNumber))
                    {
                        return(Json(response));
                    }

                    Logger.GetLogger().WriteDebug(
                        "CreationK2Controller - ProcessWorkflow", string.Format(
                            "Going to SendWorkflowAction in approval, 2nd time, operation: {0} ...",
                            response.OperationNumber));

                    _k2IntegrationOpus.FinishAsyncServerEvent(
                        viewModel.TaskDataModel.TaskFolio,
                        stateOperation.OperationNumber);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ... Done! Response: " + responseWF.IsValid);

                    return(Json(response));

                case "RejectWorkflow":

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ...");

                    responseWF = SendWorkflowAction(
                        viewModel.TaskDataModel.Code,
                        viewModel.TaskDataModel.TaskFolio,
                        viewModel.OperationNumber,
                        viewModel.TaskDataModel.TaskTypeCode,
                        parameters,
                        K2IntegrationEnumerator.GeneralActions.RejectWorkflow,
                        viewModel.TaskDataModel.TaskId);

                    Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                                  "Going to SendWorkflowAction ... Done! Response: " + responseWF.IsValid);

                    if (!responseWF.IsValid)
                    {
                        throw new ApplicationException(responseWF.ErrorMessage);
                    }

                    response.IsValid = true;
                    return(Json(response));
                }
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();
                return(Json(response));
            }

            Logger.GetLogger().WriteDebug("CreationK2Controller - ProcessWorkflow",
                                          "Exiting with response: " + response.IsValid);

            return(Json(response));
        }