示例#1
0
        private void GenerateReport(ComparerResult comparerResult, IReportGenerator generator)
        {
            generator.Init();

            generator.Report("/*");
            generator.Report("Untouched Tables: " + comparerResult.UntouchedTables.Count, EventType.Info);
            generator.Report("");

            foreach (var res in comparerResult.UntouchedTables)
            {
                generator.Report(res.FullName, EventType.None);
            }

            generator.Report("");
            generator.Report("New Tables: " + comparerResult.NewTables.Count, EventType.Info);
            generator.Report("");
            foreach (var res in comparerResult.NewTables)
            {
                generator.Report(res.FullName, EventType.None);
            }

            generator.Report("");
            generator.Report("Modified Tables: " + comparerResult.ModifiedTables.Count, EventType.Info);
            generator.Report("");

            foreach (var res in comparerResult.ModifiedTables)
            {
                generator.Report(res.FullName, EventType.None);

                if (res.NewFields.Count > 0)
                {
                    foreach (var f in res.NewFields)
                    {
                        generator.Report("  (NEW) " + f.Name + " " + f.Type + (f.Nullable ? " NULL" : " NOT NULL") + (f.IsPK ? " PK" : ""), EventType.Warning);
                    }
                }

                if (res.UpgradedFields.Count > 0)
                {
                    foreach (var f in res.UpgradedFields)
                    {
                        generator.Report("  (UPG) " + f.Name + " " + f.Type + (f.Nullable ? " NULL" : " NOT NULL") + (f.IsPK ? " PK" : ""), EventType.Warning);
                    }
                }
            }
            generator.Report("*/");
            generator.End();
        }