Example #1
0
        [TestMethod] public void TestCatalogs()
        {
            IMetadataService metadata = new MetadataService();

            metadata
            .UseDatabaseProvider(DatabaseProvider.SQLServer)
            .UseConnectionString("Data Source=ZHICHKIN;Initial Catalog=accounting_3_0_72_72_demo;Integrated Security=True");     // accounting_3_0_72_72_demo

            InfoBase infoBase = metadata.LoadInfoBase();

            List <string> delete;
            List <string> insert;

            using (StreamWriter stream = new StreamWriter(@"C:\temp\TestCatalogs.txt", false, Encoding.UTF8))
            {
                int count = 0;
                foreach (var kvp in infoBase.Catalogs)
                {
                    //if (kvp.Value.Name != "ВнешниеПользователи") continue;

                    count++;
                    Catalog model = kvp.Value as Catalog;
                    if (model == null)
                    {
                        stream.WriteLine("Catalog {" + kvp.Key.ToString() + "} is not found!");
                        continue;
                    }

                    bool result = metadata.CompareWithDatabase(model, out delete, out insert);
                    if (!result)
                    {
                        LogResult(stream, model, delete, insert);
                    }

                    foreach (TablePart tablePart in model.TableParts)
                    {
                        result = metadata.CompareWithDatabase(model, out delete, out insert);
                        if (!result)
                        {
                            LogResult(stream, tablePart, delete, insert);
                        }
                    }
                }
                stream.WriteLine("*******************************");
                stream.WriteLine(count.ToString() + " objects processed.");
            }
        }