コード例 #1
0
        private ResponseBase ValidatorModel(WorkflowSaveViewModel model)
        {
            var response = new ResponseBase {
                IsValid = true
            };

            if (model.ValidatorViewModel != null && model.WorkflowInstanceId != 0)
            {
                var responseDeleteValidators =
                    _validatorService.DeleteValidators(model.ValidatorViewModel, model.WorkflowInstanceId);

                if (!responseDeleteValidators.IsValid)
                {
                    response.IsValid      = false;
                    response.ErrorMessage = responseDeleteValidators.ErrorMessage;

                    return(response);
                }
            }

            if (model.AdditionalValidators != null && model.WorkflowInstanceId != 0)
            {
                var workflowInstance = _workflowInstanceTaskRepository
                                       .GetOne(wit => wit.WorkflowInstanceId == model.WorkflowInstanceId);

                var responseCreateValidators =
                    _validatorService.AdditionalValidators(model.WorkflowInstanceId,
                                                           workflowInstance.WorkflowTaskType.WorkflowTaskTypeId,
                                                           model.AdditionalValidators);

                if (!responseCreateValidators.IsValid)
                {
                    response.IsValid      = false;
                    response.ErrorMessage = responseCreateValidators.ErrorMessage;

                    return(response);
                }
            }

            return(response);
        }
コード例 #2
0
        public virtual JsonResult Save(WorkflowSaveViewModel model)
        {
            var response = new ResponseBase {
                IsValid = true
            };

            try
            {
                if (model == null)
                {
                    throw new ArgumentNullException("model");
                }

                if (model.DocumentNumbers != null)
                {
                    var resultInsertDocuments = _taskDocumentsService.InsertDocuments(
                        model.DocumentNumbers, model.TaskId);

                    if (!resultInsertDocuments.IsValid)
                    {
                        response.ErrorMessage = resultInsertDocuments.ErrorMessage;
                        response.IsValid      = false;

                        return(Json(response));
                    }
                }

                if (model.Comments != null)
                {
                    var responseInsert = _commentService
                                         .InsertComments(model.Comments);
                    if (!responseInsert.IsValid)
                    {
                        response.ErrorMessage = responseInsert.ErrorMessage;
                        response.IsValid      = false;

                        return(Json(response));
                    }
                }

                if (model.DeleteComments != null)
                {
                    var responseDelete = _commentService
                                         .DeleteComments(model.DeleteComments);
                    if (!responseDelete.IsValid)
                    {
                        response.ErrorMessage = responseDelete.ErrorMessage;
                        response.IsValid      = false;

                        return(Json(response));
                    }
                }

                response = ValidatorModel(model);

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

                if (model.ChangeStatus != "none")
                {
                    _workflowManagerService.AdvanceWorkflow(
                        model.TaskId,
                        IDBContext.Current.UserName,
                        model.ChangeStatus,
                        model.AdditionalValidators);
                }
            }
            catch (Exception e)
            {
                response.IsValid      = false;
                response.ErrorMessage = e.ToString();
            }

            return(Json(response));
        }