public ProgramBuilderCache GetSet(Guid id) { object obj = Opation.Get(15.ToString() + id.ToString("N")); if (obj != null) { return((ProgramBuilderCache)obj); } ProgramBuilderCache programBuilderCache = new ProgramBuilderCache(); RoadFlow.Data.Model.ProgramBuilder programBuilder = Get(id); if (programBuilder == null) { return(null); } programBuilderCache.Program = programBuilder; programBuilderCache.Fields = (from p in new ProgramBuilderFields().GetAll(id) orderby p.Sort select p).ToList(); programBuilderCache.Querys = (from p in new ProgramBuilderQuerys().GetAll(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(programBuilderCache); }
public string GetJsonString(Guid id) { ProgramBuilderCache set = this.GetSet(id); if (set == null || set.Validates == null) { return("{}"); } StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.ProgramBuilderValidates validate in set.Validates) { string str = validate.TableName + "_" + validate.FieldName; stringBuilder.AppendFormat("\"{0}\":\"{1}\"", (object)str.ToLower(), (object)("0_" + (object)validate.Validate)); stringBuilder.Append(","); } return("{" + stringBuilder.ToString().TrimEnd(',') + "}"); }
public ProgramBuilderCache GetSet(Guid id) { object obj = Opation.Get(Keys.CacheKeys.ProgramBuilder.ToString() + id.ToString("N")); if (obj != null) { return((ProgramBuilderCache)obj); } ProgramBuilderCache pb = new ProgramBuilderCache(); RoadFlow.Data.Model.ProgramBuilder programBuilder = this.Get(id); if (programBuilder == null) { return((ProgramBuilderCache)null); } pb.Program = programBuilder; pb.Fields = new ProgramBuilderFields().GetAll(id).OrderBy <RoadFlow.Data.Model.ProgramBuilderFields, int>((Func <RoadFlow.Data.Model.ProgramBuilderFields, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderFields>(); pb.Querys = new ProgramBuilderQuerys().GetAll(id).OrderBy <RoadFlow.Data.Model.ProgramBuilderQuerys, int>((Func <RoadFlow.Data.Model.ProgramBuilderQuerys, int>)(p => p.Sort)).ToList <RoadFlow.Data.Model.ProgramBuilderQuerys>(); pb.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>(); pb.Validates = new ProgramBuilderValidates().GetAll(id); pb.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>(); this.AddToCache(pb); return(pb); }
public DataTable GetExportDataTable(Guid programID, out string template, out string headerText, out string fileName) { template = ""; headerText = ""; fileName = ""; ProgramBuilderCache set = this.GetSet(programID); if (set == null) { return(new DataTable()); } template = Files.FilePath + set.Program.ExportTemplate.DesDecrypt(); headerText = set.Program.ExportHeaderText; fileName = set.Program.ExportFileName; string querySql; List <IDbDataParameter> parList; DataTable dataTable1 = new DBConnection().GetDataTable(this.GetExportCache(programID, out querySql, out parList), querySql, (IDataParameter[])parList.ToArray()); List <RoadFlow.Data.Model.ProgramBuilderExport> export = set.Export; DataTable dataTable2 = new DataTable(); foreach (RoadFlow.Data.Model.ProgramBuilderExport programBuilderExport in export) { string showTitle = programBuilderExport.ShowTitle; int? nullable = programBuilderExport.DataType; int type; if (!nullable.HasValue) { type = 0; } else { nullable = programBuilderExport.DataType; type = nullable.Value; } Type exportColumnsType = this.GetExportColumnsType(type); DataColumn column = new DataColumn(showTitle, exportColumnsType); DataColumn dataColumn = column; nullable = programBuilderExport.Width; string str = nullable.ToString(); dataColumn.Caption = str; dataTable2.Columns.Add(column); } int num = 1; Dictionary dictionary = new Dictionary(); Organize organize = new Organize(); foreach (DataRow row1 in (InternalDataCollectionBase)dataTable1.Rows) { DataRow row2 = dataTable2.NewRow(); foreach (RoadFlow.Data.Model.ProgramBuilderExport programBuilderExport in export) { object empty = (object)string.Empty; object obj1 = programBuilderExport.Field.IsNullOrEmpty() ? (object)"" : row1[programBuilderExport.Field]; int? showType = programBuilderExport.ShowType; object obj2; if (showType.HasValue) { switch (showType.GetValueOrDefault()) { case 0: obj2 = obj1; goto label_24; case 1: obj2 = (object)num.ToString(); goto label_24; case 2: obj2 = (object)obj1.ToString().ToDateTime().ToString(programBuilderExport.ShowFormat); goto label_24; case 3: obj2 = (object)obj1.ToString().ToDecimal().ToString(programBuilderExport.ShowFormat); goto label_24; case 4: obj2 = (object)dictionary.GetTitle(obj1.ToString().ToGuid()); goto label_24; case 5: obj2 = (object)organize.GetNames(obj1.ToString(), ","); goto label_24; case 6: obj2 = (object)programBuilderExport.CustomString; goto label_24; } } obj2 = obj1; label_24: row2[programBuilderExport.ShowTitle] = obj2; } ++num; dataTable2.Rows.Add(row2); } return(dataTable2); }
public void AddToCache(ProgramBuilderCache pb) { Opation.Set(Keys.CacheKeys.ProgramBuilder.ToString() + pb.Program.ID.ToString("N"), (object)pb); }
public void AddToCache(ProgramBuilderCache pb) { Opation.Set(15.ToString() + pb.Program.ID.ToString("N"), pb); }
public DataTable GetExportDataTable(Guid programID, out string template, out string headerText, out string fileName) { template = ""; headerText = ""; fileName = ""; ProgramBuilderCache set = GetSet(programID); if (set == null) { return(new DataTable()); } template = Files.FilePath + set.Program.ExportTemplate.DesDecrypt(); headerText = set.Program.ExportHeaderText; fileName = set.Program.ExportFileName; string querySql; List <IDbDataParameter> parList; Guid exportCache = GetExportCache(programID, out querySql, out parList); DBConnection dBConnection = new DBConnection(); Guid connID = exportCache; string sql = querySql; IDataParameter[] param = parList.ToArray(); DataTable dataTable = dBConnection.GetDataTable(connID, sql, param); List <RoadFlow.Data.Model.ProgramBuilderExport> export = set.Export; DataTable dataTable2 = new DataTable(); foreach (RoadFlow.Data.Model.ProgramBuilderExport item in export) { DataColumn dataColumn = new DataColumn(item.ShowTitle, GetExportColumnsType(item.DataType.HasValue ? item.DataType.Value : 0)); dataColumn.Caption = item.Width.ToString(); dataTable2.Columns.Add(dataColumn); } int num = 1; Dictionary dictionary = new Dictionary(); Organize organize = new Organize(); foreach (DataRow row in dataTable.Rows) { DataRow dataRow2 = dataTable2.NewRow(); foreach (RoadFlow.Data.Model.ProgramBuilderExport item2 in export) { object empty = string.Empty; object obj = item2.Field.IsNullOrEmpty() ? "" : row[item2.Field]; switch (item2.ShowType) { case 0: empty = obj; break; case 1: empty = num.ToString(); break; case 2: empty = obj.ToString().ToDateTime().ToString(item2.ShowFormat); break; case 3: empty = obj.ToString().ToDecimal().ToString(item2.ShowFormat); break; case 4: empty = dictionary.GetTitle(obj.ToString().ToGuid()); break; case 5: empty = organize.GetNames(obj.ToString()); break; case 6: empty = item2.CustomString; break; default: empty = obj; break; } dataRow2[item2.ShowTitle] = empty; } num++; dataTable2.Rows.Add(dataRow2); } return(dataTable2); }
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); }