Example #1
0
        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);
        }
Example #2
0
        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(',') + "}");
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
 public void AddToCache(ProgramBuilderCache pb)
 {
     Opation.Set(Keys.CacheKeys.ProgramBuilder.ToString() + pb.Program.ID.ToString("N"), (object)pb);
 }
Example #6
0
 public void AddToCache(ProgramBuilderCache pb)
 {
     Opation.Set(15.ToString() + pb.Program.ID.ToString("N"), pb);
 }
Example #7
0
        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);
        }
Example #8
0
        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);
        }