public object PostLoadExpressionCodeForm(PostLoadExpressionCodeFormDTO model) { DCExpressionModel designCode; Guid?dynamicFormId = model.DynamicFormId.ToGuidObjNull(); if (!string.IsNullOrWhiteSpace(model.Data)) { designCode = DesignCodeUtility.GetObjectOfDesignCode <DCExpressionModel>(model.Data.FromBase64()); designCode.IsOutputYes = model.IsOutputYes; if (string.IsNullOrWhiteSpace(designCode.FuncName)) { designCode.FuncName = DesignCodeUtility.GetFunctionName(designCode.ShapeID); } } else { designCode = new DCExpressionModel(Guid.NewGuid().ToString(), model.Name.ToStringObj(), model.ShapeId.ToStringObj(), model.ParentShapeId.ToStringObj(), "", model.IsOutputYes, model.IsFirst.ToBoolObj(), null); } designCode.Assemblies = string.Join(",", designCode.Assemblies.ToStringObj().Split(',').Select(c => c.Trim()).ToList()); designCode.ExpressionCode = designCode.ExpressionCode.ToStringObj().Replace("\\", "\\\\"); using (DocumentFolderService documentFolderService = new DocumentFolderService()) using (DepartmentService departmentService = new DepartmentService()) using (LURowService luRowService = new LURowService()) using (VariableService variableService = new VariableService()) using (DynamicFormService dynamicFormService = new DynamicFormService()) return new { GetAllSysMethods = DesignCodeUtility.GetAllSysMethods().Select(c => new { Key = c }).ToList(), GetVariableMethods = DesignCodeUtility.GetVariableMethods().Select(c => new { Key = c }).ToList(), GetMessageMethods = DesignCodeUtility.GetMessageMethods().Select(c => new { Key = c }).ToList(), GetAccessMethods = DesignCodeUtility.GetAccessMethods().Select(c => new { Key = c }).ToList(), GetHelperMethods = DesignCodeUtility.GetHelperMethods().Select(c => new { Key = c }).ToList(), GetDocumentMethods = DesignCodeUtility.GetDocumentMethods().Select(c => new { Key = c }).ToList(), GetAllSysProperties = DesignCodeUtility.GetAllSysProperties().Select(c => new { Key = c }).ToList(), AssembliesJson = (Directory.Exists(BPMSResources.FilesRoot + BPMSResources.AssemblyRoot) ? new DirectoryInfo(BPMSResources.FilesRoot + BPMSResources.AssemblyRoot).GetFiles("*.dll").Select(c => new AssemblyDTO(c)).Select(c => new ComboTreeModel() { id = c.FileName, title = c.FileName }).ToList() : new List <ComboTreeModel>()), ApplicationPages = dynamicFormService.GetList(null, null, true, string.Empty, null, null).Select(c => new QueryModel(c.ApplicationPageID.ToString(), c.Name)).ToList(), DepartmentRoles = luRowService.GetList("DepartmentRoleLU").Select(c => new LURowDTO(c)).ToList(), DepartmentList = departmentService.GetList(true, "", null).Select(c => new { ID = $"new Guid(\"{ c.ID }\")", c.Name }), DocumentFolders = documentFolderService.GetList(null, "", "", true).Select(c => new QueryModel(c.ID.ToString(), c.DisplayName)).ToList(), ProcessVariables = variableService.GetVariableAsComboTree(base.ProcessId, base.ApplicationPageId, null, "{0}"), ProcessControls = dynamicFormId != Guid.Empty && dynamicFormId.HasValue ? dynamicFormService.GetControls(dynamicFormService.GetInfo(dynamicFormId.Value)).Select(c => new QueryModel(c.Key, c.Value)).ToList() : new List <QueryModel>(), Model = designCode }; }
public object PostIndex(PostDesignCodePostIndexDTO requestModel) { Guid? dynamicFormId = requestModel.DynamicFormId.ToGuidObjNull(); DesignCodeModel codeModel = DesignCodeUtility.GetDesignCodeFromXml(requestModel.DesignCode.ToStringObj()); DesignCodeDTO model = new DesignCodeDTO() { Code = codeModel?.Code, CodeType = (DesignCodeDTO.e_CodeType)requestModel.CodeType, CallBack = requestModel.CallBack.ToStringObj(), Assemblies = codeModel?.Assemblies, ID = string.IsNullOrWhiteSpace(codeModel.ID) ? Guid.NewGuid().ToString() : codeModel.ID, CodeObjects = codeModel.CodeObjects, DynamicFormID = dynamicFormId, DesignCode = codeModel.DesignCode, Diagram = codeModel.Diagram.ToStringObj().Trim(), }; if (model.CodeType == DesignCodeDTO.e_CodeType.ConditionCode) { Random random = new Random(); DCConditionModel dcConditionModel = (DCConditionModel)model.CodeObjects?.FirstOrDefault() ?? new DCConditionModel(Guid.NewGuid().ToString(), "Condition", string.Empty, string.Empty, null, new List <DCRowConditionModel>(), true, "func" + random.Next(100, 100)); using (VariableService variableService = new VariableService()) using (DynamicFormService dynamicFormService = new DynamicFormService()) return new { OpenDirectly = true, DesignCodeDTO = model, ProcessControls = dynamicFormId != Guid.Empty && dynamicFormId.HasValue ? dynamicFormService.GetControls(dynamicFormService.GetInfo(dynamicFormId.Value)).Select(c => new QueryModel(c.Key, c.Value)).ToList() : new List <QueryModel>(), ProcessVariables = variableService.GetVariableAsComboTree(base.ProcessId, base.ApplicationPageId, null, "{0}"), ListOperationTypes = EnumObjHelper.GetEnumList <DCRowConditionModel.e_OperationType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(), Model = dcConditionModel }; } else { this.InitialData(model, dynamicFormId); return(model); } }
private void InitialData(DesignCodeDTO codeDTO, Guid?dynamicFormId = null) { //codeDTO.DesignCodeData = (string.Join(",", codeDTO.CodeObjects.Select(c => string.Format("{{data:'{0}',shapeId:'{1}',id:'{2}'}}", (DesignCodeUtility.ConvertDesignCodeObjectToXml((c)).ToBase64()), ((DCBaseModel)c).ShapeID, ((DCBaseModel)c).ID)))); codeDTO.DesignCodeData = codeDTO.CodeObjects.Select(c => new { data = DesignCodeUtility.ConvertDesignCodeObjectToXml((c)).ToBase64(), shapeId = ((DCBaseModel)c).ShapeID, id = ((DCBaseModel)c).ID }).ToList(); using (VariableService variableService = new VariableService()) codeDTO.ProcessVariables = variableService.GetVariableAsComboTree(base.ProcessId, base.ApplicationPageId, null, "{0}"); codeDTO.AssembliesJson = Directory.Exists(BPMSResources.FilesRoot + BPMSResources.AssemblyRoot) ? new DirectoryInfo(BPMSResources.FilesRoot + BPMSResources.AssemblyRoot).GetFiles("*.dll").Select(c => new AssemblyDTO(c)).Select(c => new ComboTreeModel() { id = c.FileName, title = c.FileName }).ToList() : new List <ComboTreeModel>(); using (DynamicFormService dynamicFormService = new DynamicFormService()) codeDTO.ApplicationPages = dynamicFormService.GetList(null, null, true, string.Empty, null, null).Select(c => new QueryModel(c.ApplicationPageID.ToString(), c.Name)).ToList(); using (LURowService luRowService = new LURowService()) codeDTO.DepartmentRoles = luRowService.GetList("DepartmentRoleLU").Select(c => new LURowDTO(c)).ToList(); using (DepartmentService departmentService = new DepartmentService()) codeDTO.DepartmentList = departmentService.GetList(true, "", null).Select(c => new QueryModel($"new Guid(\"{ c.ID }\")", c.Name)).ToList(); using (DocumentFolderService documentFolderService = new DocumentFolderService()) codeDTO.DocumentFolders = documentFolderService.GetList(null, "", "", true).Select(c => new DocumentFolderDTO(c)).ToList(); using (DynamicFormService dynamicFormService = new DynamicFormService()) { if (dynamicFormId != Guid.Empty && dynamicFormId.HasValue) { codeDTO.ProcessControls = dynamicFormService.GetControls(dynamicFormService.GetInfo(dynamicFormId.Value)).Select(c => new QueryModel(c.Key, c.Value)).ToList(); } else if (base.ApplicationPageId.HasValue) { codeDTO.ProcessControls = dynamicFormService.GetControls(dynamicFormService.GetInfoByPageID(base.ApplicationPageId.Value)).Select(c => new QueryModel(c.Key, c.Value)).ToList(); } else { codeDTO.ProcessControls = new List <QueryModel>(); } } }
public object PostAddEdit(VariableDTO variableDTO) { int RelationTypeLU = base.MyRequest.Form["RelationTypeLU"].ToIntObj(); variableDTO.ListDependencies = variableDTO.ListDependencies ?? new List <VariableDependencyDTO>(); if (variableDTO.ProcessID.HasValue || variableDTO.ApplicationPageID.HasValue) { if (RelationTypeLU == (int)sysBpmsVariable.e_RelationTypeLU.Local && variableDTO.VarTypeLU == (int)sysBpmsVariable.e_VarTypeLU.List) { variableDTO.Collection = variableDTO.ListItems.BuildXml(); } //set ViewBags using (VariableService variableService = new VariableService()) { using (ProcessService processService = new ProcessService()) { sysBpmsVariable variable = variableDTO.ID != Guid.Empty ? variableService.GetInfo(variableDTO.ID) : new sysBpmsVariable(); if (!base.ProcessId.HasValue || processService.GetInfo(base.ProcessId.Value).AllowEdit()) { ResultOperation resultOperation = variable.Update(variableDTO.ProcessID, variableDTO.ApplicationPageID, variableDTO.Name, variableDTO.VarTypeLU, variableDTO.EntityDefID, variableDTO.FieldName, variableDTO.Query, variableDTO.FilterTypeLU, variableDTO.Collection, variableDTO.DBConnectionID, variableDTO.DefaultValue, variableDTO.WhereClause, variableDTO.OrderByClause); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } List <sysBpmsVariableDependency> VariableDependencies = new List <sysBpmsVariableDependency>(); if (variableDTO.ID != Guid.Empty) { foreach (var item in variableDTO.ListDependencies) { sysBpmsVariableDependency variableDependency = new sysBpmsVariableDependency(); resultOperation = variableDependency.Update(item.ID, variableDTO.ID, item.DependentPropertyName, item.ToVariableID, item.ToPropertyName, item.Description); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } VariableDependencies.Add(variableDependency); } resultOperation = variableService.Update(variable, VariableDependencies); } else { foreach (var item in variableDTO.ListDependencies) { sysBpmsVariableDependency variableDependency = new sysBpmsVariableDependency(); resultOperation = variableDependency.Update(item.ID, item.DependentVariableID, item.DependentPropertyName, item.ToVariableID, item.ToPropertyName, item.Description); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } VariableDependencies.Add(variableDependency); } resultOperation = variableService.Add(variable, VariableDependencies); } if (resultOperation.IsSuccess) { return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success, new { name = variable.Name, id = variable.ID, comboTree = variableService.GetVariableAsComboTree(base.ProcessId, base.ApplicationPageId, null).AsJson(), entityVariables = variableService.GetList(base.ProcessId, base.ApplicationPageId, (int)sysBpmsVariable.e_VarTypeLU.Object, "", null, true).Select(c => new { text = c.Name, value = c.ID }).ToList(), listVariables = variableService.GetList(base.ProcessId, base.ApplicationPageId, (int)sysBpmsVariable.e_VarTypeLU.List, "", null, true).Select(c => new { text = c.Name, value = c.Name }).ToList() })); } else { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } } else { return(new PostMethodMessage(LangUtility.Get("NotAllowEdit.Text", nameof(sysBpmsProcess)), DisplayMessageType.error)); } } } } return(new PostMethodMessage(SharedLang.Get("NotFound.Text"), DisplayMessageType.error)); }