Example #1
0
        public static DatabaseContent GetTableContent(string source, List <string> tables)
        {
            DatabaseContent databaseContent = GetTableContent(source);
            List <string>   tablesToRemove  = databaseContent.TableContent.Select(x => x.TableName).ToList();

            if (tables.Contains("All"))
            {
                return(databaseContent);
            }

            foreach (string table in tablesToRemove)
            {
                TableContent tableContent = databaseContent.TableContent.FirstOrDefault(x => x.TableName == table);
                if (tableContent == null)
                {
                    continue;
                }
                if (tables.Contains(tableContent.TableName))
                {
                    continue;
                }

                databaseContent.TableContent.Remove(tableContent);
            }

            return(databaseContent);
        }
Example #2
0
        private static string CreateTextReportInternal(DatabaseContent tablesContentList)
        {
            var sb = new StringBuilder();

            sb.AppendLine(Spacer);
            sb.AppendLine("DataBase overview");
            sb.AppendLine(Spacer);
            sb.AppendFormat("SchemaVersion: {0,10}{1}", tablesContentList.SchemaVersion, Environment.NewLine);
            sb.AppendFormat("UserVersion:   {0,10}{1}", tablesContentList.UserVersion, Environment.NewLine);

            sb.AppendLine(Spacer);
            sb.AppendLine("Tables overview");
            sb.AppendLine(Spacer);

            CreateTablesSummary(tablesContentList.TableContent, sb);

            //sb.AppendLine(Spacer);
            //sb.AppendLine("Schema");
            //sb.AppendLine(Spacer);

            // Todo Schema

            sb.AppendLine(Spacer);
            sb.AppendLine("Content");
            sb.AppendLine(Spacer);

            foreach (var tablesContent in tablesContentList.TableContent)
            {
                sb.AppendLine(tablesContent.GetReport());
            }

            sb.AppendLine("EOF");
            return(sb.ToString());
        }
Example #3
0
        public static string[] CreateTextReport(DatabaseContent tablesContentList)
        {
            var report = CreateTextReportInternal(tablesContentList);

            string[] result = Regex.Split(report, "\r\n|\r|\n");
            return(result);
        }
Example #4
0
        public static DatabaseContent GetTableContent(string source)
        {
            Prepare();

            var result = new DatabaseContent();
            List <TableContent> tablesContent;

            using (var connection = new SQLiteConnection(String.Format("Data Source={0};Version=3;Read Only=True;", source)))
            {
                connection.Open();

                List <string> tables = GetTables(connection);
                tablesContent       = GetTableContent(tables, connection);
                result.TableContent = tablesContent;

                result.SchemaVersion = GetSchemaVersion(connection);
                result.UserVersion   = GetUserVersion(connection);

                connection.Close();
            }

            return(result);
        }
Example #5
0
        public static void CreateTextReport(DatabaseContent tablesContentList, string target)
        {
            var sb = CreateTextReportInternal(tablesContentList);

            File.WriteAllText(target, sb, Encoding.UTF8);
        }