public virtual JObject GetFormStateInfo(HttpContext context) { YZRequest request = new YZRequest(context); string app = request.GetString("app"); string key = request.GetString("key", null); string formstate = request.GetString("formstate", null); FormApplication formApplication; FormState formState; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); formApplication = FormApplication.Open(cn, app); formState = FormService.GetFormStateBasicInfo(cn, app, formstate); } JObject rv = new JObject(); rv[YZJsonProperty.success] = true; rv["appShortName"] = formApplication.Name; rv["formstate"] = formState.Name; rv["token"] = YZSecurityHelper.GenFormApplicationToken(app, key, formState.Name); rv["showSaveButton"] = formState.ShowSaveButton; rv["validationGroup"] = formState.ValidationGroup; rv["url"] = YZUtility.GetFormRedirectUrl(formApplication.Form).ToString(); return(rv); }
/// <summary> /// Starts this instance. /// </summary> public void Start() { _applications.ForEach(x => x.Start()); Logger.LoggerInstance.LogInformation("Starting main console."); FormApplication.Run(_mainConsole); Stop(); }
protected void Page_Load(object sender, EventArgs e) { if (!AspxHelper.IsAuthenticated) { FormsAuthentication.RedirectToLoginPage(); } string appName = this.Request.QueryString["app"]; FormApplication formApplication = null; BPMConnection cn = new BPMConnection(); try { cn.WebOpen(this.Page); formApplication = FormApplication.Load(cn, appName); } finally { cn.Close(); } string formFile = formApplication.Form; if (formFile.IndexOf('?') != -1) { this.Server.Transfer(this.ResolveClientUrl("../Forms/") + formFile + "&md=App&" + this.Request.QueryString.ToString(), false); } else { this.Server.Transfer(this.ResolveClientUrl("../Forms/") + formFile + "?md=App&" + this.Request.QueryString.ToString(), false); } this.Response.End(); }
/// <summary> /// Constructor /// </summary> /// <param name="applicationMenuInstance"> /// Main Form Application /// it contrain Menu Application /// is is MdiForm /// </param> /// <param name="user">Connected user</param> public GwinApp(Type TypeDbContext, Type TypeBaseBLO, FormApplication applicationMenuInstance, User user) { this.Theme = new DefaultTheme(); this.TypeDBContext = TypeDbContext; this.TypeBaseBLO = TypeBaseBLO; this.FormApplication = applicationMenuInstance; this.user = user; }
public virtual JObject GetAppsInFolder(HttpContext context) { YZRequest request = new YZRequest(context); string path = request.GetString("path", null); FormApplicationCollection formApplications; //获得数据 using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); formApplications = cn.GetFormApplicationList(path, BPMPermision.Read); //将数据转化为Json集合 JObject rv = new JObject(); rv[YZJsonProperty.total] = formApplications.Count; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (FormApplication tmpformapp in formApplications) { string fullName; if (String.IsNullOrEmpty(path)) { fullName = tmpformapp.Name; } else { fullName = path + "/" + tmpformapp.Name; } FormApplication formapp = FormApplication.Open(cn, fullName); JObject item = new JObject(); children.Add(item); item["Name"] = formapp.Name; item["FullName"] = fullName; item["rsid"] = StoreZoneType.FormService.ToString() + "://" + fullName; JArray jStates = new JArray(); item["States"] = jStates; foreach (FormState state in formapp.FormStates) { JObject jState = new JObject(); jStates.Add(jState); jState["Name"] = state.Name; } item["FormFile"] = formapp.Form; } return(rv); } }
public virtual FormApplication GetFormServiceDefine(HttpContext context) { YZRequest request = new YZRequest(context); string path = request.GetString("path"); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); return(FormApplication.Open(cn, path)); } }
private void btnAppEdit_Click(object sender, System.EventArgs e) { Dictionary <int, FormApplication> updatedList = new Dictionary <int, FormApplication>(); foreach (DataGridViewRow row in dataGridViewApp.Rows) { if (row.Cells[0].Value != null && (bool)row.Cells[0].Value) { // show the form user int appId = (int)row.Cells[1].Value; string appName = (string)row.Cells[2].Value; FormApplication formApp = new FormApplication(appName); formApp.Text = "Edit Application"; formApp.BrowseButtonEnabled = false; formApp.DisplayName = appName; formApp.ExecutablePath = (string)row.Cells[3].Value; formApp.Arguments = (string)row.Cells[4].Value; string[] area = ((string)row.Cells[5].Value).Split(','); int left = int.Parse(area[0]); int top = int.Parse(area[1]); int right = int.Parse(area[2]); int bottom = int.Parse(area[3]); formApp.PositionLeft = left; formApp.PositionTop = top; formApp.Width = right - left; formApp.Height = bottom - top; if (formApp.ShowDialog(this) == System.Windows.Forms.DialogResult.OK && formApp.IsDirty) { // add to database updatedList.Add(appId, formApp); } } } foreach (KeyValuePair <int, FormApplication> data in updatedList) { // add to database applicationPresenter.EditApplication( data.Key, data.Value.DisplayName, data.Value.ExecutablePath, data.Value.Arguments, data.Value.PositionLeft, data.Value.PositionTop, data.Value.PositionLeft + data.Value.Width, data.Value.PositionTop + data.Value.Height); } }
public virtual JObject GetFormStateInfo(HttpContext context) { YZRequest request = new YZRequest(context); string app = request.GetString("app"); string key = request.GetString("key", null); string formstate = request.GetString("formstate", null); FormApplication formApplication; FormState formState; FlowDataSet formdataset; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); formApplication = FormApplication.Open(cn, app); formState = FormService.GetFormStateBasicInfo(cn, app, formstate); formdataset = FormService.GetFormApplicationData(cn, app, formstate, key); } //准备返回值 JObject result = new JObject(); JObject jForm = new JObject(); jForm["xclass"] = "YZSoft.form.aspx.Form"; jForm["config"] = JObject.FromObject(new { aspxform = formApplication.Form }); result["form"] = jForm; result[YZJsonProperty.success] = true; result["app"] = app; result["key"] = key; result["formstate"] = formstate; result["appShortName"] = formApplication.Name; result["showSaveButton"] = formState.ShowSaveButton; result["validationGroup"] = formState.ValidationGroup; result["formdataset"] = this.ToResult(formdataset, true); return(result); }
public virtual void SaveFormService(HttpContext context) { YZRequest request = new YZRequest(context); JObject post = request.GetPostData <JObject>(); FormApplication app = post["data"].ToObject <FormApplication>(); ACL acl = post["acl"].ToObject <ACL>(); string mode = request.GetString("mode"); string path; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); if (mode == "edit") { path = request.GetString("path"); string name = request.GetString("name"); if (name != app.Name) { path = cn.RenameObject(StoreZoneType.FormService, path, app.Name); } app.Save(cn, path, true); } else { string folder = request.GetString("folder", ""); if (String.IsNullOrEmpty(folder)) { path = app.Name; } else { path = folder + "/" + app.Name; } app.Save(cn, path, false); } SecurityManager.SaveACL(cn, SecurityResType.FormApplication, path, null, acl); } }
private void btnAppAdd_Click(object sender, System.EventArgs e) { FormApplication fromApp = new FormApplication(String.Empty); fromApp.BrowseButtonEnabled = false; fromApp.Text = "Add Application"; if (fromApp.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { // add to database applicationPresenter.AddApplication( fromApp.DisplayName, fromApp.ExecutablePath, fromApp.Arguments, fromApp.PositionLeft, fromApp.PositionTop, fromApp.PositionLeft + fromApp.Width, fromApp.PositionTop + fromApp.Height); } }
protected void Page_Load(object sender, EventArgs e) { if (!YZAuthHelper.IsAuthenticated) { FormsAuthentication.RedirectToLoginPage(); } string appName = this.Request.QueryString["app"]; FormApplication formApplication = null; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); formApplication = FormApplication.Load(cn, appName); } string formFile = formApplication.Form; YZUrlBuilder urlBuilder = YZUtility.GetFormRedirectUrl(this.Page, formFile); urlBuilder.QueryString["md"] = "App"; this.Response.Redirect(urlBuilder.ToString(), true); }
/// <summary> /// /// </summary> /// <param name="AppMenu">Main Form application, /// it contrain the menu of application /// it is Mdi Form /// </param> /// <param name="user">Connected user, /// it can be null if the user is not yet connected /// </param> /// <param name="TypeDbContext"> /// Type of EntityFramework DbContext /// id used to create instance of GwinApp EntityBAO object /// </param> public static void Start(Type TypeDbContext, Type TypeBaseBLO, FormApplication AppMenu, User user) { // User must not be null CheckPramIsNull.CheckParam_is_NotNull(user, nameof(GwinApp), nameof(user)); // Lunch Loading Interface GwinApp.Loading_Start(); GwinApp.Loading_Status("Start Gwin Applicaton ..."); // Create GwinInstance to Authenticate GwinApp.Instance = new GwinApp(TypeDbContext, TypeBaseBLO, AppMenu, user); //Layer configuration : Initialize the dependency resolver DependencyResolver.Initialize(); // // Update Menu // // Change User Culture and Tread to do Update with User Language GwinApp.instance.CultureInfo = new CultureInfo(user.Language.ToString()); Thread.CurrentThread.CurrentCulture = GwinApp.instance.CultureInfo; Thread.CurrentThread.CurrentUICulture = GwinApp.instance.CultureInfo; // Update GwinApplicatio, after ModelConfiguration changes //[Update] // Must be befor Language Change, because SetLanguge Use MenuTable InstallApplicationGwinBLO installApplication = new InstallApplicationGwinBLO(TypeDbContext); installApplication.Update(); // Change Gwin Language if (AppMenu != null && user != null) { GwinApp.SetLanguage(GwinApp.Instance.CultureInfo); } // Load ApplicationName Instance IGwinBaseBLO ApplicationNameBLO = new GwinBaseBLO <ApplicationName>((DbContext)Activator.CreateInstance(instance.TypeDBContext)); List <object> ls_apps = ApplicationNameBLO.GetAll(); if (ls_apps != null && ls_apps.Count > 0) { GwinApp.instance.ApplicationName = (ApplicationName)ls_apps.First(); } else { ApplicationName applicationName = new ApplicationName(); applicationName.Name = new Entities.MultiLanguage.LocalizedString(); applicationName.Name.Current = "Gwin Application"; GwinApp.instance.ApplicationName = applicationName; } // Set Name Applicatoin in ApplicationMenu if (AppMenu != null) { AppMenu.Text = instance.ApplicationName.Name.Current; } // Close Loading Interface GwinApp.Loading_Close(); // Authentification Login(); }