public bool Publish(Guid id, bool isMvc = false) { RoadFlow.Data.Model.ProgramBuilder model1 = this.Get(id); if (model1 == null || model1.Name.IsNullOrEmpty() || model1.SQL.IsNullOrEmpty()) { return(false); } AppLibrary appLibrary = new AppLibrary(); RoadFlow.Data.Model.AppLibrary model2 = appLibrary.GetByCode(id.ToString(), true); bool flag1 = false; using (TransactionScope transactionScope = new TransactionScope()) { if (model2 == null) { flag1 = true; model2 = new RoadFlow.Data.Model.AppLibrary(); model2.ID = Guid.NewGuid(); } model2.Address = !isMvc ? "/Platform/ProgramBuilder/Run.aspx?programid=" + id.ToString() : "/ProgramBuilder/Run?programid=" + id.ToString(); model2.Code = id.ToString(); model2.OpenMode = 0; model2.Title = model1.Name; model2.Type = model1.Type; if (flag1) { appLibrary.Add(model2); } else { appLibrary.Update(model2); } model1.Status = 1; this.Update(model1); List <RoadFlow.Data.Model.ProgramBuilderButtons> all = new ProgramBuilderButtons().GetAll(model1.ID); AppLibraryButtons1 appLibraryButtons1_1 = new AppLibraryButtons1(); List <RoadFlow.Data.Model.AppLibraryButtons1> allByAppId = appLibraryButtons1_1.GetAllByAppID(model2.ID); List <RoadFlow.Data.Model.AppLibraryButtons1> appLibraryButtons1List = new List <RoadFlow.Data.Model.AppLibraryButtons1>(); foreach (RoadFlow.Data.Model.ProgramBuilderButtons programBuilderButtons in all) { RoadFlow.Data.Model.ProgramBuilderButtons button = programBuilderButtons; RoadFlow.Data.Model.AppLibraryButtons1 model3 = allByAppId.Find((Predicate <RoadFlow.Data.Model.AppLibraryButtons1>)(p => p.ID == button.ID)); bool flag2 = false; if (model3 == null) { model3 = new RoadFlow.Data.Model.AppLibraryButtons1(); flag2 = true; } model3.AppLibraryID = model2.ID; model3.ButtonID = button.ButtonID; model3.Events = button.ClientScript; model3.Ico = button.Ico ?? ""; model3.ID = button.ID; model3.Name = button.ButtonName; model3.ShowType = button.ShowType; model3.Sort = button.Sort; model3.Type = 0; model3.IsValidateShow = button.IsValidateShow; if (flag2) { appLibraryButtons1_1.Add(model3); } else { appLibraryButtons1_1.Update(model3); } appLibraryButtons1List.Add(model3); } foreach (RoadFlow.Data.Model.AppLibraryButtons1 appLibraryButtons1_2 in allByAppId) { RoadFlow.Data.Model.AppLibraryButtons1 button = appLibraryButtons1_2; if (appLibraryButtons1List.Find((Predicate <RoadFlow.Data.Model.AppLibraryButtons1>)(p => p.ID == button.ID)) == null) { appLibraryButtons1_1.Delete(button.ID); } } transactionScope.Complete(); } new AppLibrary().ClearCache(); new Menu().ClearAllDataTableCache(); new AppLibraryButtons1().ClearCache(); new AppLibrarySubPages().ClearCache(); this.AddToCache(new ProgramBuilderCache() { Program = model1, Fields = new ProgramBuilderFields().GetAll(model1.ID).OrderBy <RoadFlow.Data.Model.ProgramBuilderFields, int>((Func <RoadFlow.Data.Model.ProgramBuilderFields, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderFields>(), Querys = new ProgramBuilderQuerys().GetAll(model1.ID).OrderBy <RoadFlow.Data.Model.ProgramBuilderQuerys, int>((Func <RoadFlow.Data.Model.ProgramBuilderQuerys, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderQuerys>(), Buttons = new ProgramBuilderButtons().GetAll(id).OrderBy <RoadFlow.Data.Model.ProgramBuilderButtons, int>((Func <RoadFlow.Data.Model.ProgramBuilderButtons, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderButtons>(), Validates = new ProgramBuilderValidates().GetAll(id), Export = new ProgramBuilderExport().GetAll(id).OrderBy <RoadFlow.Data.Model.ProgramBuilderExport, int>((Func <RoadFlow.Data.Model.ProgramBuilderExport, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderExport>() }); return(true); }
public ActionResult Edit(FormCollection collection) { string str = base.Request.QueryString["id"]; string value = base.Request.QueryString["typeid"]; RoadFlow.Platform.AppLibrary appLibrary = new RoadFlow.Platform.AppLibrary(); RoadFlow.Data.Model.AppLibrary appLibrary2 = null; if (str.IsGuid()) { appLibrary2 = appLibrary.Get(str.ToGuid()); } bool flag = !str.IsGuid(); string oldXML = string.Empty; if (appLibrary2 == null) { appLibrary2 = new RoadFlow.Data.Model.AppLibrary(); appLibrary2.ID = Guid.NewGuid(); base.ViewBag.TypeOptions = new RoadFlow.Platform.AppLibrary().GetTypeOptions(value); base.ViewBag.OpenOptions = new RoadFlow.Platform.Dictionary().GetOptionsByCode("appopenmodel"); } else { oldXML = appLibrary2.Serialize(); base.ViewBag.TypeOptions = new RoadFlow.Platform.AppLibrary().GetTypeOptions(appLibrary2.Type.ToString()); base.ViewBag.OpenOptions = new RoadFlow.Platform.Dictionary().GetOptionsByCode("appopenmodel", RoadFlow.Platform.Dictionary.OptionValueField.Value, appLibrary2.OpenMode.ToString()); } if (collection != null) { string title = collection["title"]; string text = collection["address"]; string str2 = collection["openModel"]; string str3 = collection["width"]; string str4 = collection["height"]; string @params = collection["Params"]; string note = collection["Note"]; string text2 = collection["Ico"]; string text3 = collection["IcoColor"]; value = collection["type"]; appLibrary2.Address = text.Trim(); appLibrary2.Height = str4.ToIntOrNull(); appLibrary2.Note = note; appLibrary2.OpenMode = str2.ToInt(); appLibrary2.Params = @params; appLibrary2.Title = title; appLibrary2.Type = value.ToGuid(); appLibrary2.Width = str3.ToIntOrNull(); if (!text2.IsNullOrEmpty()) { appLibrary2.Ico = text2; } else { appLibrary2.Ico = null; } if (!text3.IsNullOrEmpty()) { appLibrary2.Color = text3.Trim(); } else { appLibrary2.Color = null; } string text4 = base.Request.QueryString["pagesize"]; string text5 = base.Request.QueryString["pagenumber"]; using (TransactionScope transactionScope = new TransactionScope()) { if (flag) { appLibrary.Add(appLibrary2); RoadFlow.Platform.Log.Add("添加了应用程序库", appLibrary2.Serialize(), RoadFlow.Platform.Log.Types.菜单权限); base.ViewBag.Script = "alert('添加成功!');new RoadUI.Window().reloadOpener(undefined,undefined,\"query('" + text4 + "','" + text5 + "')\");new RoadUI.Window().close();"; } else { appLibrary.Update(appLibrary2); RoadFlow.Platform.Log.Add("修改了应用程序库", "", RoadFlow.Platform.Log.Types.菜单权限, oldXML, appLibrary2.Serialize()); base.ViewBag.Script = "alert('修改成功!');new RoadUI.Window().reloadOpener(undefined,undefined,\"query('" + text4 + "','" + text5 + "')\");new RoadUI.Window().close();"; } RoadFlow.Platform.AppLibraryButtons1 appLibraryButtons = new RoadFlow.Platform.AppLibraryButtons1(); string obj = base.Request.Form["buttonindex"] ?? ""; List <RoadFlow.Data.Model.AppLibraryButtons1> allByAppID = appLibraryButtons.GetAllByAppID(appLibrary2.ID); List <RoadFlow.Data.Model.AppLibraryButtons1> list = new List <RoadFlow.Data.Model.AppLibraryButtons1>(); string[] array = obj.Split(','); foreach (string index in array) { string str5 = base.Request.Form["button_" + index]; string str6 = base.Request.Form["buttonname_" + index]; string text6 = base.Request.Form["buttonevents_" + index]; string ico = base.Request.Form["buttonico_" + index]; string str7 = base.Request.Form["showtype_" + index]; string str8 = base.Request.Form["buttonsort_" + index]; if (!str6.IsNullOrEmpty() && !text6.IsNullOrEmpty()) { RoadFlow.Data.Model.AppLibraryButtons1 appLibraryButtons2 = allByAppID.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == index.ToGuid()); bool flag2 = false; if (appLibraryButtons2 == null) { flag2 = true; appLibraryButtons2 = new RoadFlow.Data.Model.AppLibraryButtons1(); appLibraryButtons2.ID = Guid.NewGuid(); } else { list.Add(appLibraryButtons2); } appLibraryButtons2.AppLibraryID = appLibrary2.ID; if (str5.IsGuid()) { appLibraryButtons2.ButtonID = str5.ToGuid(); } appLibraryButtons2.Events = text6; appLibraryButtons2.Ico = ico; appLibraryButtons2.Name = str6.Trim1(); appLibraryButtons2.Sort = str8.ToInt(0); appLibraryButtons2.ShowType = str7.ToInt(0); appLibraryButtons2.Type = 0; if (flag2) { appLibraryButtons.Add(appLibraryButtons2); } else { appLibraryButtons.Update(appLibraryButtons2); } } } foreach (RoadFlow.Data.Model.AppLibraryButtons1 item in allByAppID) { if (list.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == item.ID) == null) { appLibraryButtons.Delete(item.ID); } } transactionScope.Complete(); appLibraryButtons.ClearCache(); } new RoadFlow.Platform.Menu().ClearAllDataTableCache(); new RoadFlow.Platform.WorkFlow().ClearStartFlowsCache(); appLibrary.ClearCache(); } return(View(appLibrary2)); }
public bool Publish(Guid id, bool isMvc = false) { RoadFlow.Data.Model.ProgramBuilder programBuilder = Get(id); if (programBuilder == null || programBuilder.Name.IsNullOrEmpty() || programBuilder.SQL.IsNullOrEmpty()) { return(false); } AppLibrary appLibrary = new AppLibrary(); RoadFlow.Data.Model.AppLibrary appLibrary2 = appLibrary.GetByCode(id.ToString()); bool flag = false; using (TransactionScope transactionScope = new TransactionScope()) { if (appLibrary2 == null) { flag = true; appLibrary2 = new RoadFlow.Data.Model.AppLibrary(); appLibrary2.ID = Guid.NewGuid(); } appLibrary2.Address = ((!isMvc) ? ("/Platform/ProgramBuilder/Run.aspx?programid=" + id.ToString()) : ("/ProgramBuilder/Run?programid=" + id.ToString())); appLibrary2.Code = id.ToString(); appLibrary2.OpenMode = 0; appLibrary2.Title = programBuilder.Name; appLibrary2.Type = programBuilder.Type; if (flag) { appLibrary.Add(appLibrary2); } else { appLibrary.Update(appLibrary2); } programBuilder.Status = 1; Update(programBuilder); List <RoadFlow.Data.Model.ProgramBuilderButtons> all = new ProgramBuilderButtons().GetAll(programBuilder.ID); AppLibraryButtons1 appLibraryButtons = new AppLibraryButtons1(); List <RoadFlow.Data.Model.AppLibraryButtons1> allByAppID = appLibraryButtons.GetAllByAppID(appLibrary2.ID); List <RoadFlow.Data.Model.AppLibraryButtons1> list = new List <RoadFlow.Data.Model.AppLibraryButtons1>(); foreach (RoadFlow.Data.Model.ProgramBuilderButtons item in all) { RoadFlow.Data.Model.AppLibraryButtons1 appLibraryButtons2 = allByAppID.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == item.ID); bool flag2 = false; if (appLibraryButtons2 == null) { appLibraryButtons2 = new RoadFlow.Data.Model.AppLibraryButtons1(); flag2 = true; } appLibraryButtons2.AppLibraryID = appLibrary2.ID; appLibraryButtons2.ButtonID = item.ButtonID; appLibraryButtons2.Events = item.ClientScript; appLibraryButtons2.Ico = (item.Ico ?? ""); appLibraryButtons2.ID = item.ID; appLibraryButtons2.Name = item.ButtonName; appLibraryButtons2.ShowType = item.ShowType; appLibraryButtons2.Sort = item.Sort; appLibraryButtons2.Type = 0; appLibraryButtons2.IsValidateShow = item.IsValidateShow; if (flag2) { appLibraryButtons.Add(appLibraryButtons2); } else { appLibraryButtons.Update(appLibraryButtons2); } list.Add(appLibraryButtons2); } foreach (RoadFlow.Data.Model.AppLibraryButtons1 item2 in allByAppID) { if (list.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == item2.ID) == null) { appLibraryButtons.Delete(item2.ID); } } transactionScope.Complete(); } new AppLibrary().ClearCache(); new Menu().ClearAllDataTableCache(); new AppLibraryButtons1().ClearCache(); new AppLibrarySubPages().ClearCache(); ProgramBuilderCache programBuilderCache = new ProgramBuilderCache(); programBuilderCache.Program = programBuilder; programBuilderCache.Fields = (from p in new ProgramBuilderFields().GetAll(programBuilder.ID) orderby p.Sort select p).ToList(); programBuilderCache.Querys = (from p in new ProgramBuilderQuerys().GetAll(programBuilder.ID) orderby p.Sort select p).ToList(); programBuilderCache.Buttons = (from p in new ProgramBuilderButtons().GetAll(id) orderby p.Sort select p).ToList(); programBuilderCache.Validates = new ProgramBuilderValidates().GetAll(id); programBuilderCache.Export = (from p in new ProgramBuilderExport().GetAll(id) orderby p.Sort select p).ToList(); AddToCache(programBuilderCache); return(true); }
public ActionResult SubPageEdit(FormCollection collection) { RoadFlow.Platform.AppLibrarySubPages appLibrarySubPages = new RoadFlow.Platform.AppLibrarySubPages(); RoadFlow.Data.Model.AppLibrarySubPages appLibrarySubPages2 = null; string str = base.Request.QueryString["subid"]; if (str.IsGuid()) { appLibrarySubPages2 = appLibrarySubPages.Get(str.ToGuid()); } if (collection != null) { string str2 = base.Request.Form["Title"]; string str3 = base.Request.Form["Address"]; bool flag = false; if (appLibrarySubPages2 == null) { appLibrarySubPages2 = new RoadFlow.Data.Model.AppLibrarySubPages(); flag = true; appLibrarySubPages2.ID = Guid.NewGuid(); appLibrarySubPages2.AppLibraryID = base.Request.QueryString["id"].ToGuid(); } appLibrarySubPages2.Name = str2.Trim1(); appLibrarySubPages2.Address = str3.Trim1(); using (TransactionScope transactionScope = new TransactionScope()) { if (flag) { appLibrarySubPages.Add(appLibrarySubPages2); RoadFlow.Platform.Log.Add("添加了子页面", appLibrarySubPages2.Serialize(), RoadFlow.Platform.Log.Types.菜单权限); base.ViewBag.Script = "alert('添加成功!');window.location='SubPages" + base.Request.Url.Query + "';"; } else { appLibrarySubPages.Update(appLibrarySubPages2); RoadFlow.Platform.Log.Add("修改了子页面", appLibrarySubPages2.Serialize(), RoadFlow.Platform.Log.Types.菜单权限); base.ViewBag.Script = "alert('保存成功!');window.location='SubPages" + base.Request.Url.Query + "';"; } RoadFlow.Platform.AppLibraryButtons1 appLibraryButtons = new RoadFlow.Platform.AppLibraryButtons1(); string obj = base.Request.Form["buttonindex"] ?? ""; List <RoadFlow.Data.Model.AppLibraryButtons1> allByAppID = appLibraryButtons.GetAllByAppID(appLibrarySubPages2.ID); List <RoadFlow.Data.Model.AppLibraryButtons1> list = new List <RoadFlow.Data.Model.AppLibraryButtons1>(); string[] array = obj.Split(','); foreach (string index in array) { string str4 = base.Request.Form["button_" + index]; string str5 = base.Request.Form["buttonname_" + index]; string text = base.Request.Form["buttonevents_" + index]; string ico = base.Request.Form["buttonico_" + index]; string str6 = base.Request.Form["showtype_" + index]; string str7 = base.Request.Form["buttonsort_" + index]; if (!str5.IsNullOrEmpty() && !text.IsNullOrEmpty()) { RoadFlow.Data.Model.AppLibraryButtons1 appLibraryButtons2 = allByAppID.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == index.ToGuid()); bool flag2 = false; if (appLibraryButtons2 == null) { flag2 = true; appLibraryButtons2 = new RoadFlow.Data.Model.AppLibraryButtons1(); appLibraryButtons2.ID = Guid.NewGuid(); } else { list.Add(appLibraryButtons2); } appLibraryButtons2.AppLibraryID = appLibrarySubPages2.ID; if (str4.IsGuid()) { appLibraryButtons2.ButtonID = str4.ToGuid(); } appLibraryButtons2.Events = text; appLibraryButtons2.Ico = ico; appLibraryButtons2.Name = str5.Trim1(); appLibraryButtons2.Sort = str7.ToInt(0); appLibraryButtons2.ShowType = str6.ToInt(0); appLibraryButtons2.Type = 0; if (flag2) { appLibraryButtons.Add(appLibraryButtons2); } else { appLibraryButtons.Update(appLibraryButtons2); } } } foreach (RoadFlow.Data.Model.AppLibraryButtons1 item in allByAppID) { if (list.Find((RoadFlow.Data.Model.AppLibraryButtons1 p) => p.ID == item.ID) == null) { appLibraryButtons.Delete(item.ID); } } transactionScope.Complete(); appLibraryButtons.ClearCache(); appLibrarySubPages.ClearCache(); } } if (appLibrarySubPages2 == null) { appLibrarySubPages2 = new RoadFlow.Data.Model.AppLibrarySubPages(); appLibrarySubPages2.ID = Guid.Empty; appLibrarySubPages2.AppLibraryID = base.Request.QueryString["id"].ToGuid(); } return(View(appLibrarySubPages2)); }