private EngineResponseModel GetContentHtmlByPage(Guid applicationPageId) { CodeBaseSharedModel codeBaseShared = new CodeBaseSharedModel(); FormModel formModel = new FormModel(); sysBpmsDynamicForm dynamicForm = new DynamicFormService(base.UnitOfWork).GetInfoByPageID(applicationPageId); ResultOperation resultOperation = new ResultOperation(); //convert form xml code to json object JObject obj = JObject.Parse(dynamicForm.DesignJson); HtmlElementHelperModel htmlElementHelperModel = HtmlElementHelper.MakeModel(base.EngineSharedModel, base.UnitOfWork, HtmlElementHelperModel.e_FormAction.Onload, 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); resultOperation = formModel.ResultOperation; } CodeResultModel codeResultModel = null; if (resultOperation.IsSuccess) { if (!string.IsNullOrWhiteSpace(dynamicForm.OnEntryFormCode)) { DynamicCodeEngine dynamicCodeEngine = new DynamicCodeEngine(base.EngineSharedModel, base.UnitOfWork); codeResultModel = dynamicCodeEngine.ExecuteOnEntryFormCode(DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnEntryFormCode), formModel, codeBaseShared); DynamicCodeEngine.SetToErrorMessage(codeResultModel, resultOperation); //If in code any variable is set, it Will save them all at the end dynamicCodeEngine.SaveExternalVariable(codeResultModel); } } return(new EngineResponseModel().InitGet(resultOperation, codeBaseShared.MessageList, codeResultModel?.RedirectUrlModel, formModel)); }
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); }