public void Normalize(ITable initialTable, ITable accountTable, ITable managerTable, ITable relationTable)
        {
            _initialTable  = initialTable;
            _accountTable  = accountTable;
            _managerTable  = managerTable;
            _relationTable = relationTable;

            var initialTableColumnTitles = GetInitialTableColumnTitles();

            _initialTableColumnAmount = initialTableColumnTitles.Count;

            FormatAccountTable(initialTableColumnTitles);
            FormatManagerTable();
            FormatRelationTable();

            using (ExecutionTimer.StartNew("ProccessInitialTable"))
                ProccessInitialTable();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            const string accountTablePostfix  = "-accounts";
            const string managerTablePostfix  = "-managers";
            const string relationTablePostfix = "-account-manager-relations";
            const string outputFileExtension  = "xlsx";

            var initialTableUrl  = GetInitialTableFileUrl();
            var accountTableUrl  = GetOutputFileUrl(initialTableUrl, accountTablePostfix, outputFileExtension);
            var managerTableUrl  = GetOutputFileUrl(initialTableUrl, managerTablePostfix, outputFileExtension);
            var relationTableUrl = GetOutputFileUrl(initialTableUrl, relationTablePostfix, outputFileExtension);

            var xlsNormalizer = new AccountManagerNormalizer();

            try
            {
                var initialTable  = new OpenXMLTable(initialTableUrl, false);
                var accountTable  = new OpenXMLTable(accountTableUrl, true);
                var managerTable  = new OpenXMLTable(managerTableUrl, true);
                var relationTable = new OpenXMLTable(relationTableUrl, true);

                Console.WriteLine("Normalization in progress...");

                using (ExecutionTimer.StartNew("Normalization"))
                {
                    xlsNormalizer.Normalize(initialTable, accountTable, managerTable, relationTable);
                }

                accountTable.SaveAndClose();
                managerTable.SaveAndClose();
                relationTable.SaveAndClose();
            }
            catch (Exception exception)
            {
                Console.WriteLine("EXCEPTION Occured:");
                Console.WriteLine(exception.Message);

                Close();
                return;
            }

            Console.WriteLine("Normalization has been successfully done.");
            Close();
        }