public PostFormResponseModel(List <MessageModel> listMessageModel, string message, bool isSuccess, bool isSubmit, RedirectUrlModel redirectUrlModel, List <DownloadModel> listDownloadModel = null) { this.ListMessageModel = listMessageModel; this.IsSuccess = isSuccess; this.IsSubmit = isSubmit; this.RedirectUrlModel = redirectUrlModel; this.ListDownloadModel = listDownloadModel; if (!string.IsNullOrWhiteSpace(message) && //If it is a success message and user added at least one success message,this skips default success message. (!isSuccess || !this.ListMessageModel.Any(c => c.DisplayMessageType == DisplayMessageType.success))) { this.ListMessageModel = (this.ListMessageModel ?? new List <MessageModel>()).Union(new List <MessageModel>() { new MessageModel(this.IsSuccess ? DisplayMessageType.success : DisplayMessageType.error, message) }).ToList(); } }
public PostTaskFormResponseModel(RedirectUrlModel redirectUrlModel, string message, bool isSuccess, bool isSubmit, Guid?stepID = null, bool?isNextPrevious = null, List <MessageModel> listMessageModel = null, List <DownloadModel> listDownloadModel = null) { this.ListMessageModel = listMessageModel; this.IsSuccess = isSuccess; this.IsSubmit = isSubmit; this.StepID = stepID; this.IsNextPrevious = isNextPrevious; this.RedirectUrlModel = redirectUrlModel; this.ListDownloadModel = listDownloadModel; if (!string.IsNullOrWhiteSpace(message)) { this.ListMessageModel = (this.ListMessageModel ?? new List <MessageModel>()).Union(new List <MessageModel>() { new MessageModel(this.IsSuccess ? DisplayMessageType.success : DisplayMessageType.error, message) }).ToList(); } }
protected string GetRedirectUrl(RedirectUrlModel redirectModel) { if (redirectModel != null) { if (redirectModel.ApplicationPageId.HasValue) { return(UrlUtility.GetCartableUrl("GetCartablePage", (redirectModel.ListParameter ?? new List <string>()). Union(new List <string>() { $"applicationPageId={redirectModel.ApplicationPageId}" }).ToArray())); } else { return(redirectModel.Url); } } else { return(null); } }
public void RedirectForm(object applicationPageId, params string[] parameters) { RedirectUrlModel = new RedirectUrlModel(applicationPageId.ToGuidObj(), (parameters ?? new string[] { }).ToList(), false); }
public void RedirectUrl(string url, bool NewTab = false) { RedirectUrlModel = new RedirectUrlModel(url, NewTab); }
public GetTaskFormResponseModel(EngineFormModel engineFormModel, List <MessageModel> listMessageModel, RedirectUrlModel redirectUrlModel) { this.EngineFormModel = engineFormModel; this.ListMessageModel = listMessageModel; this.RedirectUrlModel = redirectUrlModel; }
private EngineResponseModel SaveContentHtmlByPage(Guid applicationPageId, string buttonControlId) { ResultOperation resultOperation = new ResultOperation(); RedirectUrlModel redirectUrlModel = null; CodeBaseSharedModel codeBaseShared = new CodeBaseSharedModel(); try { FormModel formModel = new FormModel(); sysBpmsDynamicForm dynamicForm = new DynamicFormService(base.UnitOfWork).GetInfoByPageID(applicationPageId); //conver form xml code to json object JObject obj = JObject.Parse(dynamicForm.DesignJson); //if json object has a control with type = CONTENT if (obj != null && obj["type"].ToString() == "CONTENT") { formModel = new FormModel(obj, HtmlElementHelper.MakeModel(base.EngineSharedModel, base.UnitOfWork, HtmlElementHelperModel.e_FormAction.OnPost, dynamicForm), null, null, dynamicForm, false); resultOperation = formModel.ResultOperation; } this.BeginTransaction(); if (resultOperation.IsSuccess) { CodeResultModel codeResultModel; //It sets variables by form's widgets and adds to the codeBaseShared's ListSetVariable. resultOperation = DataManageEngine.SetVariableByForms(formModel.ContentHtml, codeBaseShared, base.EngineSharedModel.BaseQueryModel); if (resultOperation.IsSuccess) { //execute form button backend code. if (!string.IsNullOrWhiteSpace(buttonControlId)) { ButtonHtml buttonHtml = (ButtonHtml)formModel.ContentHtml.FindControlByID(buttonControlId); DynamicCodeEngine dynamicCodeEngine = new DynamicCodeEngine(base.EngineSharedModel, base.UnitOfWork); codeResultModel = dynamicCodeEngine.SaveButtonCode(buttonHtml, resultOperation, formModel, codeBaseShared); redirectUrlModel = codeResultModel?.RedirectUrlModel ?? redirectUrlModel; if (buttonHtml.subtype != ButtonHtml.e_subtype.submit) { //If in code any variable is set, it Will save them all at the end dynamicCodeEngine.SaveExternalVariable(codeResultModel); base.FinalizeService(resultOperation); return(new EngineResponseModel().InitPost(resultOperation, codeBaseShared.MessageList, redirectUrlModel, isSubmit: false, listDownloadModel: codeBaseShared.ListDownloadModel)); } } //execute form OnExitFormCode if (!string.IsNullOrWhiteSpace(dynamicForm.OnExitFormCode)) { codeResultModel = new DynamicCodeEngine(base.EngineSharedModel, base.UnitOfWork).ExecuteOnExitFormCode(DesignCodeUtility.GetDesignCodeFromXml(dynamicForm.OnExitFormCode), formModel, codeBaseShared); DynamicCodeEngine.SetToErrorMessage(codeResultModel, resultOperation); redirectUrlModel = codeResultModel?.RedirectUrlModel ?? redirectUrlModel; } if (resultOperation.IsSuccess) { //save html element values into database. resultOperation = new DataManageEngine(base.EngineSharedModel, base.UnitOfWork).SaveIntoDataBase(formModel.ContentHtml, null, codeBaseShared.ListSetVariable, null); } } } base.FinalizeService(resultOperation); resultOperation.CurrentObject = formModel; } catch (Exception ex) { return(new EngineResponseModel().InitPost(base.ExceptionHandler(ex), codeBaseShared.MessageList, null)); } return(new EngineResponseModel().InitPost(resultOperation, codeBaseShared.MessageList, redirectUrlModel, listDownloadModel: codeBaseShared.ListDownloadModel)); }