Exemplo n.º 1
0
        public object PostAddEdit(DynamicFormDTO dynamicFormDTO)
        {
            sysBpmsDynamicForm dynamicForm;
            ResultOperation    resultOperation = new ResultOperation();

            using (DynamicFormService dynamicFormService = new DynamicFormService())
            {
                if (dynamicFormDTO.ID != Guid.Empty)
                {
                    dynamicForm = dynamicFormService.GetInfo(dynamicFormDTO.ID);
                    dynamicForm.Update(dynamicFormDTO.ProcessId, dynamicFormDTO.ApplicationPageID, dynamicFormDTO.Name, dynamicFormDTO.Version, dynamicFormDTO.ShowInOverview);

                    DynamicFormConfigXmlModel configXmlModel = dynamicForm.ConfigXmlModel;
                    configXmlModel.IsEncrypted = dynamicFormDTO.IsEncrypted;
                    dynamicForm.Update(configXmlModel);

                    resultOperation = dynamicFormService.Update(dynamicForm, base.userName);
                }
                else
                {
                    dynamicForm = new sysBpmsDynamicForm().Update(dynamicFormDTO.ProcessId, dynamicFormDTO.ApplicationPageID, dynamicFormDTO.Name, dynamicFormDTO.Version, dynamicFormDTO.ShowInOverview);

                    DynamicFormConfigXmlModel configXmlModel = dynamicForm.ConfigXmlModel;
                    configXmlModel.IsEncrypted = dynamicFormDTO.IsEncrypted;
                    dynamicForm.Update(configXmlModel);
                    //make applicationPage if processId is null.
                    sysBpmsApplicationPage sysAppPage = !dynamicForm.ProcessId.HasValue ?
                                                        new sysBpmsApplicationPage().Update(dynamicFormDTO.ApplicationPageDTO.GroupLU, string.Empty, dynamicFormDTO.ApplicationPageDTO.ShowInMenu) : null;

                    resultOperation        = dynamicFormService.Add(dynamicForm, sysAppPage, base.userName);
                    base.ApplicationPageId = dynamicForm.ApplicationPageID;
                }
            }
            if (resultOperation.IsSuccess)
            {
                return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success, new DynamicFormDTO(dynamicForm)));
            }
            else
            {
                return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
            }
        }