public bool GetConfirmResult(string controlId, Guid formId, bool isGridCommand, string gridId = "", Guid?threadId = null, Guid?applicationPageId = null) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(formId); object control = dynamicForm.FindControl(isGridCommand ? gridId : controlId); DesignCodeModel designCode = null; if (control is ButtonHtml) { designCode = ((ButtonHtml)control).ConfirmDesignCodeModel; } if (control is DataGridHtml) { designCode = ((DataGridHtml)control).GetConfirmCode(controlId); } EngineSharedModel engineSharedModel = applicationPageId.HasValue ? new EngineSharedModel(applicationPageId.Value, HttpContext.Current.Request.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) : new EngineSharedModel(threadId, dynamicForm.ProcessId, HttpContext.Current.Request.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId); UnitOfWork unitOfWork = new UnitOfWork(); return(new DynamicCodeEngine(engineSharedModel, unitOfWork).ExecuteBooleanCode(designCode)); } }
public object PostEditApplicationPage(PostEditApplicationPageDTO model) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(model.DynamicFormDTO.ID); dynamicForm.Update(null, model.DynamicFormDTO.ApplicationPageID, model.DynamicFormDTO.Name, model.DynamicFormDTO.Version, model.DynamicFormDTO.ShowInOverview); DynamicFormConfigXmlModel configXmlModel = dynamicForm.ConfigXmlModel; configXmlModel.IsEncrypted = model.DynamicFormDTO.IsEncrypted; dynamicForm.Update(configXmlModel); dynamicFormService.Update(dynamicForm, base.userName); using (ApplicationPageService applicationPageService = new ApplicationPageService()) { sysBpmsApplicationPage applicationPage = applicationPageService.GetInfo(model.DynamicFormDTO.ApplicationPageID.Value); applicationPage.Update(model.DynamicFormDTO.ApplicationPageDTO.GroupLU, model.DynamicFormDTO.ApplicationPageDTO.Description, model.DynamicFormDTO.ApplicationPageDTO.ShowInMenu); applicationPageService.Update(applicationPage); using (ApplicationPageAccessService applicationPageAccessService = new ApplicationPageAccessService()) { List <sysBpmsApplicationPageAccess> newApplicationPageAccess = (model.listRole ?? new List <ApplicationPageAccessDTO>()).Select(c => new sysBpmsApplicationPageAccess().Update(c.ID, model.DynamicFormDTO.ApplicationPageID.Value, c.DepartmentID, c.RoleLU, c.UserID, c.AllowAdd, c.AllowEdit, c.AllowDelete, c.AllowView)).ToList() .Union((model.listUser ?? new List <ApplicationPageAccessDTO>()).Select(c => new sysBpmsApplicationPageAccess().Update(c.ID, model.DynamicFormDTO.ApplicationPageID.Value, c.DepartmentID, c.RoleLU, c.UserID, c.AllowAdd, c.AllowEdit, c.AllowDelete, c.AllowView))).ToList(); applicationPageAccessService.AddEdit(applicationPage.ID, newApplicationPageAccess); } } } return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success)); }
public object ExecuteCode(string controlId, Guid formId, string commandId, Guid?threadId = null, Guid?applicationPageId = null) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(formId); object control = dynamicForm.FindControl(controlId); DesignCodeModel designCode = null; if (control is DataGridHtml) { designCode = ((DataGridHtml)control).GetCommandCode(commandId); } EngineSharedModel engineSharedModel = applicationPageId.HasValue ? new EngineSharedModel(applicationPageId.Value, HttpContext.Current.Request.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) : new EngineSharedModel(threadId, dynamicForm.ProcessId, HttpContext.Current.Request.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId); UnitOfWork unitOfWork = new UnitOfWork(); DynamicCodeEngine dynamicCodeEngine = new DynamicCodeEngine(engineSharedModel, unitOfWork); var result = dynamicCodeEngine.ExecuteScriptCode(designCode, new CodeBaseSharedModel(null)); //If in code any variable is set, it Will save them all at the end dynamicCodeEngine.SaveExternalVariable(result); return(new { result = result?.Result, listMessage = result?.CodeBaseShared.MessageList.Select(c => new { DisplayMessageType = c.DisplayMessageType.ToString(), c.Message }) }); } }
public object GetPopUp(Guid formID) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(formID); Guid applicationId = dynamicForm.ApplicationPageID.Value; EngineSharedModel engineSharedModel = new EngineSharedModel(applicationId, base.MyRequest.GetList(this.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId); using (ApplicationPageEngine applicationPageEngine = new ApplicationPageEngine(engineSharedModel)) { GetFormResponseModel responseVM = applicationPageEngine.GetForm(); if (responseVM.EngineFormModel != null) { string popUpUrl = UrlUtility.GetCartableApiUrl(base.MyRequest, base.PortalSettings.DefaultPortalAlias, nameof(CartablePageController.GetPopUp), nameof(CartablePageController), ""); string postUrl = UrlUtility.GetCartableApiUrl(base.MyRequest, base.PortalSettings.DefaultPortalAlias, nameof(CartablePageController.PostPopUp), nameof(CartablePageController), "", UrlUtility.GetParamsAsArray(new HttpRequestWrapper(base.MyRequest), new string[] { $"applicationPageId={applicationId}" }).ToArray()); responseVM.EngineFormModel.SetUrls(popUpUrl, postUrl, new HttpRequestWrapper(base.MyRequest), base.PortalSettings.DefaultPortalAlias, FormTokenUtility.GetFormToken(base.ApiSessionId, responseVM?.EngineFormModel?.FormModel?.ContentHtml?.DynamicFormID ?? Guid.Empty, responseVM?.EngineFormModel?.FormModel?.IsEncrypted ?? false)); } return(new { Model = responseVM?.EngineFormModel, MessageList = responseVM?.ListMessageModel.Select(c => new PostMethodMessage(c.Message, c.DisplayMessageType)), RedirectUrl = base.GetRedirectUrl(responseVM?.RedirectUrlModel), Result = true, }); } } }
public object PostAddEditFormDesign(PostAddEditFormDesignDTO model) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(model.DynamicFormId); if (dynamicForm != null) { ResultOperation resultOperation = dynamicForm.Update(model.DesignJson); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } resultOperation = dynamicFormService.GetSourceCode(dynamicForm); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } resultOperation = dynamicFormService.Update(dynamicForm, base.userName); if (resultOperation.IsSuccess) { return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success)); } else { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } } else { return(new PostMethodMessage(SharedLang.Get("NotFound.Text"), DisplayMessageType.error)); } } }
public void Delete(Guid dynamicFormId) { sysBpmsDynamicForm dynamicForm = this.Context.sysBpmsDynamicForms.FirstOrDefault(d => d.ID == dynamicFormId); if (dynamicForm != null) { this.Context.sysBpmsDynamicForms.Remove(dynamicForm); } }
public ResultOperation Delete(Guid dynamicFormId) { ResultOperation resultOperation = null; try { resultOperation = new ResultOperation(); if (resultOperation.IsSuccess) { base.BeginTransaction(); List <sysBpmsStep> list = new StepService(this.UnitOfWork).GetList(null, dynamicFormId); foreach (var item in list) { resultOperation = new StepService(this.UnitOfWork).Delete(item.ID); if (!resultOperation.IsSuccess) { break; } } if (resultOperation.IsSuccess) { sysBpmsDynamicForm dynamicForm = this.GetInfo(dynamicFormId); this.UnitOfWork.Repository <IDynamicFormRepository>().Delete(dynamicFormId); if (resultOperation.IsSuccess && dynamicForm.ApplicationPageID.HasValue) { //delete page variables List <sysBpmsVariable> listVariable = new VariableService(this.UnitOfWork).GetList(null, dynamicForm.ApplicationPageID.Value, null, "", null, null); foreach (var item in listVariable) { resultOperation = new VariableService(this.UnitOfWork).Delete(item.ID); if (!resultOperation.IsSuccess) { break; } } //delete application page if (resultOperation.IsSuccess) { resultOperation = new ApplicationPageService(base.UnitOfWork).Delete(dynamicForm.ApplicationPageID.Value); } } } this.UnitOfWork.Save(); } } catch (Exception ex) { return(base.ExceptionHandler(ex)); } base.FinalizeService(resultOperation); return(resultOperation); }
public object GetAddEditStyleSheet(Guid DynamicFormId) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(DynamicFormId); return(Json(new { StyleCode = dynamicForm.ConfigXmlModel.StyleSheetCode.ToStringObj(), DynamicFormId })); } }
public object GetValue(Guid formId, string controlId, Guid?threadId = null) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(formId); BindingElementBase control = (BindingElementBase)dynamicForm.FindControl(controlId); EngineSharedModel engineSharedModel = dynamicForm.ProcessId.HasValue ? new EngineSharedModel(threadId, dynamicForm.ProcessId, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) : new EngineSharedModel(dynamicForm.ApplicationPageID.Value, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId); UnitOfWork unitOfWork = new UnitOfWork(); control.Helper = HtmlElementHelper.MakeModel(engineSharedModel, unitOfWork, HtmlElementHelperModel.e_FormAction.Onload, dynamicForm); control.FillData(); return((control.Type == "HTMLCODE" || control.Type == "TITLE") ? control.Label : control.Value); } }
public static HtmlElementHelperModel MakeModel( EngineSharedModel engineSharedModel, IUnitOfWork unitOfWork, HtmlElementHelperModel.e_FormAction formAction, sysBpmsDynamicForm mainDynamicForm) { return(new HtmlElementHelperModel( new DataManageEngine(engineSharedModel), unitOfWork, new ApplicationPageEngine(engineSharedModel, unitOfWork), formAction, new DynamicCodeEngine(engineSharedModel, unitOfWork), new DocumentEngine(engineSharedModel, unitOfWork), engineSharedModel?.BaseQueryModel, engineSharedModel?.ApiSessionID.ToStringObj(), mainDynamicForm.ConfigXmlModel.IsEncrypted)); }
public ResultOperation Update(sysBpmsDynamicForm dynamicForm, string userName) { ResultOperation resultOperation = new ResultOperation(); if (dynamicForm.ProcessId.HasValue && !new ProcessService(base.UnitOfWork).GetInfo(dynamicForm.ProcessId.Value).AllowEdit()) { resultOperation.AddError(LangUtility.Get("NotAllowEdit.Text", nameof(sysBpmsProcess))); } if (resultOperation.IsSuccess) { dynamicForm.UpdatedBy = userName; dynamicForm.UpdatedDate = DateTime.Now; this.UnitOfWork.Repository <IDynamicFormRepository>().Update(dynamicForm); this.UnitOfWork.Save(); } return(resultOperation); }
public List <ComboSearchItem> GetListElement(Guid formId, string controlId, Guid?threadId = null) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(formId); ListItemElementBase control = (ListItemElementBase)dynamicForm.FindControl(controlId); EngineSharedModel engineSharedModel = dynamicForm.ProcessId.HasValue ? new EngineSharedModel(threadId, dynamicForm.ProcessId, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) : new EngineSharedModel(dynamicForm.ApplicationPageID.Value, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId); UnitOfWork unitOfWork = new UnitOfWork(); control.Helper = HtmlElementHelper.MakeModel(engineSharedModel, unitOfWork, HtmlElementHelperModel.e_FormAction.Onload, dynamicForm); control.FillData(); return(control.Options.Select(item => new ComboSearchItem() { text = item.Label, id = item.Value, }).ToList()); } }
public object PostAddEditStyleSheet(PostAddEditStyleSheetDTO model) { using (DynamicFormService dynamicFormService = new DynamicFormService()) { sysBpmsDynamicForm dynamicForm = dynamicFormService.GetInfo(model.DynamicFormId); DynamicFormConfigXmlModel configXmlModel = dynamicForm.ConfigXmlModel; configXmlModel.StyleSheetCode = model.StyleCode; dynamicForm.Update(configXmlModel); ResultOperation resultOperation = dynamicFormService.Update(dynamicForm, base.userName); if (!resultOperation.IsSuccess) { return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error)); } return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success)); } }
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)); } }
//Get list controls as Dictionary<string, string> Key=Id Value=label public Dictionary <string, string> GetControls(sysBpmsDynamicForm dynamicForm) { if (string.IsNullOrWhiteSpace(dynamicForm.DesignJson)) { return(new Dictionary <string, string>()); } JObject obj = JObject.Parse(dynamicForm.DesignJson); if (obj != null && obj["type"].ToString() == "CONTENT") { return(dynamicForm.GetControls().ToDictionary( f => f["id"].ToStringObj(), g => (g["type"].ToStringObj() == "HTMLCODE" || string.IsNullOrWhiteSpace(g["label"].ToStringObj())) ? g["id"].ToStringObj() : g["label"].ToStringObj())); } else { return(new Dictionary <string, string>()); } }
public ResultOperation Add(sysBpmsDynamicForm dynamicForm, sysBpmsApplicationPage appPage, string userName) { ResultOperation resultOperation = new ResultOperation(); try { if (dynamicForm.ProcessId.HasValue && !new ProcessService(base.UnitOfWork).GetInfo(dynamicForm.ProcessId.Value).AllowEdit()) { resultOperation.AddError(LangUtility.Get("NotAllowEdit.Text", nameof(sysBpmsProcess))); } if (resultOperation.IsSuccess) { base.BeginTransaction(); if (!dynamicForm.ProcessId.HasValue && !dynamicForm.ApplicationPageID.HasValue) { appPage = appPage ?? new sysBpmsApplicationPage().Update(0, String.Empty, false); appPage.ID = Guid.Empty; resultOperation = new ApplicationPageService(base.UnitOfWork).Add(appPage); dynamicForm.ApplicationPageID = appPage.ID; } if (resultOperation.IsSuccess) { dynamicForm.CreatedBy = userName.ToStringObj(); dynamicForm.CreatedDate = DateTime.Now; dynamicForm.UpdatedBy = userName.ToStringObj(); dynamicForm.UpdatedDate = DateTime.Now; this.UnitOfWork.Repository <IDynamicFormRepository>().Add(dynamicForm); this.UnitOfWork.Save(); } } } catch (Exception ex) { return(base.ExceptionHandler(ex)); } base.FinalizeService(resultOperation); return(resultOperation); }
public DynamicFormDTO(sysBpmsDynamicForm dynamicForm) { if (dynamicForm != null) { this.ID = dynamicForm.ID; this.Name = dynamicForm.Name; this.ProcessId = dynamicForm.ProcessId; this.ApplicationPageID = dynamicForm.ApplicationPageID; this.Version = dynamicForm.Version ?? 1; this.DesignJson = dynamicForm.DesignJson; this.ConfigXML = dynamicForm.ConfigXML; this.OnExitFormCode = dynamicForm.OnExitFormCode; this.OnEntryFormCode = dynamicForm.OnEntryFormCode; this.ShowInOverview = dynamicForm.ShowInOverview; this.CreatedBy = dynamicForm.CreatedBy; this.CreatedDate = dynamicForm.CreatedDate; this.UpdatedBy = dynamicForm.UpdatedBy; this.UpdatedDate = dynamicForm.UpdatedDate; this.ApplicationPageDTO = dynamicForm.ApplicationPageID.HasValue ? new ApplicationPageDTO(dynamicForm.ApplicationPage) : null; this.IsEncrypted = this.ConfigXML.ToStringObj().ParseXML <DynamicFormConfigXmlModel>()?.IsEncrypted ?? false; } }
public ResultOperation Copy(Guid dynamicFormId, string userName) { sysBpmsDynamicForm dynamicForm = this.GetInfo(dynamicFormId); dynamicForm.ID = Guid.Empty; dynamicForm.Name += " - Copy"; this.UpdateBackendCodeID(dynamicForm); this.GetSourceCode(dynamicForm); if (dynamicForm.ApplicationPageID.HasValue) { ApplicationPageService applicationPageService = new ApplicationPageService(base.UnitOfWork); ApplicationPageAccessService applicationPageAccessService = new ApplicationPageAccessService(base.UnitOfWork); sysBpmsApplicationPage sysBpmsApplicationPage = applicationPageService.GetInfo(dynamicForm.ApplicationPageID.Value); List <sysBpmsApplicationPageAccess> sysBpmsApplicationPageAccessList = applicationPageAccessService.GetList(dynamicForm.ApplicationPageID.Value, null); //Adding sysBpmsApplicationPage sysBpmsApplicationPage.ID = Guid.NewGuid(); applicationPageService.Add(sysBpmsApplicationPage); foreach (var item in sysBpmsApplicationPageAccessList) { item.ID = Guid.NewGuid(); item.ApplicationPageID = sysBpmsApplicationPage.ID; applicationPageAccessService.Add(item); } dynamicForm.ApplicationPageID = sysBpmsApplicationPage.ID; } dynamicForm.CreatedBy = userName; dynamicForm.CreatedDate = DateTime.Now; dynamicForm.UpdatedBy = userName; dynamicForm.UpdatedDate = DateTime.Now; this.UnitOfWork.Repository <IDynamicFormRepository>().Add(dynamicForm); this.UnitOfWork.Save(); return(new ResultOperation()); }
public EngineFormModel PreviewForm(Guid formID, string userName) { sysBpmsDynamicForm dynamicForm = this.GetInfo(formID); EngineSharedModel engineSharedModel = dynamicForm.ApplicationPageID.HasValue ? new EngineSharedModel(dynamicForm.ApplicationPageID.Value, new List <QueryModel>(), userName, string.Empty) : new EngineSharedModel(Guid.Empty, dynamicForm.ProcessId, new List <QueryModel>(), userName, string.Empty); FormModel formModel = new FormModel(); //convert form xml code to json object JObject obj = JObject.Parse(dynamicForm.DesignJson); HtmlElementHelperModel htmlElementHelperModel = HtmlElementHelper.MakeModel(engineSharedModel, base.UnitOfWork, HtmlElementHelperModel.e_FormAction.Preview, dynamicForm); //if json object has a control with type = CONTENT if (obj != null && obj["type"].ToString() == "CONTENT") { formModel = new FormModel(obj, htmlElementHelperModel, null, null, dynamicForm, false); } EngineFormModel engineForm = dynamicForm.ApplicationPageID.HasValue ? new EngineFormModel(formModel, dynamicForm.ApplicationPageID) : new EngineFormModel(formModel, Guid.Empty, Guid.Empty, dynamicForm.ProcessId); return(engineForm); }
public void Update(sysBpmsDynamicForm dynamicForm) { this.Context.Entry(dynamicForm.Clone()).State = EntityState.Modified; }
public static void GenerateAppPageAssembly(sysBpmsDynamicForm dynamicForm) { CompileAssemblies(dynamicForm.SourceCode, dynamicForm.ApplicationPageID.ToString()); }
public ResultOperation GetSourceCode(sysBpmsDynamicForm dynamicForm) { ResultOperation resultOperation = new ResultOperation(); try { FormModel formModel = new FormModel(JObject.Parse(dynamicForm.DesignJson), HtmlElementHelper.MakeModel(null, null, HtmlElementHelperModel.e_FormAction.FillMode, dynamicForm), null, null, dynamicForm, false); string renderedCode = string.Empty; formModel.ContentHtml.Rows.ForEach((row) => { renderedCode += renderCode(row); if (row is RowHtml) { readRow(row); } else { ((AccordionHtml)row).Cards.ForEach((car) => { renderedCode += renderCode(car); ((CardHtml)car).Rows.ForEach((item) => { readRow(item); }); }); } }); void readRow(object row) { ((RowHtml)row).Columns.ForEach((column) => { renderedCode += renderCode(column); column.children.ForEach((item) => { renderedCode += renderCode(item); }); }); } string renderCode(object item) { DesignCodeModel designCode = null; string code = string.Empty; //VisibilityDesignCodeModel code += makeClass(((ElementBase)item).VisibilityDesignCodeModel); //if is button if (item is ButtonHtml) { code += makeClass(((ButtonHtml)item).ConfirmDesignCodeModel); code += makeClass(DesignCodeUtility.GetDesignCodeFromXml(((ButtonHtml)item).BackendCoding)); } if (item is DataGridHtml) { DataGridHtml dataGridHtml = (DataGridHtml)item; dataGridHtml.DataGridColumns.ForEach((column) => { column.ItemList.ForEach((cItem) => { designCode = DesignCodeUtility.GetDesignCodeFromXml(cItem.ExpressionConfirmCode.FromBase64()); if (designCode != null && !string.IsNullOrWhiteSpace(designCode.Code)) { code += makeClass(designCode); } designCode = DesignCodeUtility.GetDesignCodeFromXml(cItem.RunCodeData.FromBase64()); if (designCode != null && !string.IsNullOrWhiteSpace(designCode.Code)) { code += makeClass(designCode); } }); }); } return(code); } string makeClass(DesignCodeModel designCode) { string code = string.Empty; if (designCode != null && !string.IsNullOrWhiteSpace(designCode.Code)) { code = DynamicCodeEngine.MakeClass(designCode.Code, designCode.ID); } return(code); } renderedCode += makeClass(DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnEntryFormCode)); renderedCode += makeClass(DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnExitFormCode)); dynamicForm.SourceCode = renderedCode; if (dynamicForm.ApplicationPageID.HasValue) { DynamicCodeEngine.GenerateAppPageAssembly(dynamicForm); } } catch (Exception ex) { resultOperation.AddError(ex.ToString()); resultOperation.AddError("Error while creating code"); } return(resultOperation); }
/// <summary> /// this will change all back end code id because of compiled dll duplicated. /// </summary> /// <param name="dynamicForm"></param> public void UpdateBackendCodeID(sysBpmsDynamicForm dynamicForm) { if (!string.IsNullOrWhiteSpace(dynamicForm.DesignJson)) { FormModel formModel = new FormModel(JObject.Parse(dynamicForm.DesignJson), HtmlElementHelper.MakeModel(null, null, HtmlElementHelperModel.e_FormAction.FillMode, dynamicForm), null, null, dynamicForm, false); formModel.ContentHtml.Rows.ForEach((row) => { generateCodeID(row); if (row is RowHtml) { readRow(row); } else { ((AccordionHtml)row).Cards.ForEach((car) => { generateCodeID(car); ((CardHtml)car).Rows.ForEach((item) => { readRow(item); }); }); } }); void readRow(object row) { ((RowHtml)row).Columns.ForEach((column) => { generateCodeID(column); column.children.ForEach((item) => { generateCodeID(item); }); }); } void generateCodeID(object item) { replaceID(((ElementBase)item).ExpressionVisibilityCode); if (item is ButtonHtml) { replaceID(((ButtonHtml)item).ExpressionConfirmCode); replaceID(((ButtonHtml)item).BackendCoding); } else if (item is DataGridHtml) { DataGridHtml dataGridHtml = (DataGridHtml)item; dataGridHtml.DataGridColumns.ForEach((column) => { column.ItemList.ForEach((cItem) => { if (!string.IsNullOrWhiteSpace(cItem.ExpressionConfirmCode)) { replaceID(cItem.ExpressionConfirmCode.FromBase64()); } if (!string.IsNullOrWhiteSpace(cItem.RunCodeData)) { replaceID(cItem.RunCodeData.FromBase64()); } }); }); } } void replaceID(string decodedCode) { if (!string.IsNullOrWhiteSpace(decodedCode)) { DesignCodeModel designCode = DesignCodeUtility.GetDesignCodeFromXml(decodedCode); if (designCode != null && !string.IsNullOrWhiteSpace(designCode.ID)) { dynamicForm.DesignJson = dynamicForm.DesignJson.Replace(decodedCode.ToBase64(), decodedCode.Replace(designCode.ID, Guid.NewGuid().ToStringObj()).ToBase64()); } } } DesignCodeModel codeModel = DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnEntryFormCode); if (codeModel != null && !string.IsNullOrWhiteSpace(codeModel.ID)) { dynamicForm.OnEntryFormCode = dynamicForm.OnEntryFormCode.Replace(codeModel.ID, Guid.NewGuid().ToString()); } codeModel = DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnExitFormCode); if (codeModel != null && !string.IsNullOrWhiteSpace(codeModel.ID)) { dynamicForm.OnExitFormCode = dynamicForm.OnExitFormCode.Replace(codeModel.ID, Guid.NewGuid().ToString()); } } }
public void Add(sysBpmsDynamicForm dynamicForm) { dynamicForm.ID = Guid.NewGuid(); this.Context.sysBpmsDynamicForms.Add(dynamicForm); }