Example #1
0
        static void Main(string[] args)
        {
            Version version = Assembly.GetExecutingAssembly().GetName().Version;
            string  ver     = "{0}.{1}.{2}".Args(version.Major, version.Minor, version.Build);

            applicationName = Path.GetFileNameWithoutExtension(Environment.GetCommandLineArgs()[0]);
            NLogger.Instance.Info("{0} starting @ {1}.  Version {2}".Args(applicationName, DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), ver), true);
            NLogger.Instance.Info("Config = {0}".Args(Settings.Default.ConfigName), true, ConsoleColor.Yellow);
            NLogger.Instance.Info("-------------------------------------------", true);

            try
            {
                SwiftImportManager im;
                if (args.Length == 0)
                {
                    im = new SwiftImportManager(new DataLayer(new DatabaseController(Settings.Default.ConnectionString)), Settings.Default.PollFolders.Cast <string>());
                }
                else
                {
                    im = new SwiftImportManager(new DataLayer(new DatabaseController(Settings.Default.ConnectionString)), args);
                }
                new AutoResetEvent(false).WaitOne();
            }
            catch (Exception ex)
            {
                NLogger.Instance.Info("", true);
                NLogger.Instance.Info("Error: {0}".Args(ex.Message), true, ConsoleColor.Red);
                NLogger.Instance.Info("", true);
                WriteSyntax();
            }

            NLogger.Instance.Info("{0} terminating @ {1}".Args(applicationName, DateTime.Now.ToString("yyyyMMdd HH:mm:ss")), true);
        }
Example #2
0
        private void StartImportManager()
        {
            im = new SwiftImportManager(new DataLayer(new DatabaseController(Settings.Default.ConnectionString)), Settings.Default.PollFolders.Cast <string>());
            var reset = new AutoResetEvent(false);

            reset.WaitOne();
        }
Example #3
0
        public MainViewModel()
        {
            Statements   = new List <SwiftStatement>();
            swiftManager = new SwiftImportManager();
            swiftManager.StatusChanged += swiftManager_StatusChanged;
            swiftManager.Initialise();  // have to init after subscribing to events above so that we can recieve the status updates + errors straight away.

            FilePath           = swiftManager.FileMonitorPath;
            MonitoringPath     = swiftManager.FileMonitorPath;
            IsMonitoring       = true;
            KeepStatusInMemory = false;

            // setup bgworker
            bgWorker                            = new BackgroundWorker();
            bgWorker.DoWork                    += bgWorker_DoWork;
            bgWorker.ProgressChanged           += bgWorker_ProgressChanged;
            bgWorker.RunWorkerCompleted        += bgWorker_RunWorkerCompleted;
            bgWorker.WorkerSupportsCancellation = true;
            bgWorker.WorkerReportsProgress      = true;

#if !DEBUG
            // force a run on startup in case stuff has come in whilst it was not running
            UpdateStatus("Running on startup in case files were missed whilst down...");
            RunBgWorker(bgworkerType.ImportAndSaveAll);
#endif

            // setup timer
            timer          = new Timer(1000);
            timer.Elapsed += timer_Elapsed;

            IsTimerScheduled = true;
        }
Example #4
0
        public void SavingMessages()
        {
            //setup

            if (!Directory.Exists(@"C:\temp\Swift_Files_Prod\"))
            {
                Directory.CreateDirectory(@"C:\temp\Swift_Files_Prod\");
            }
            var mgr = new SwiftImportManager(new DataLayer(new DatabaseController("Data Source=devMINKY;Initial Catalog=Reconciliation;Integrated Security=True")), new List <string>()
            {
                @"C:\temp\Swift_Files_Prod\*.out"
            });

            //drop a file into the folder

            //File.Copy("Testfiles\\M300_20160114.114822.inc", @"C:\temp\Swift_Files_Prod\Testfiles\M300_20160114.114822.inc", true);
            File.Delete(@"Testfiles\M300_20160114.114822.inc.working");
            File.Delete(@"Testfiles\M300_20160114.114822.inc.archive");

            File.Delete(@"Testfiles\MT535.00591822.out.working");
            File.Delete(@"Testfiles\MT535.00591822.out.archive");

            File.Delete(@"Testfiles\MT940.00322918.out.working");
            File.Delete(@"Testfiles\MT940.00322918.out.archive");

            File.Delete(@"Testfiles\MT950.00523025.out.working");
            File.Delete(@"Testfiles\MT950.00523025.out.archive");

            //explicitly call the import
            mgr.ImportFile("Testfiles\\M300_20160114.114822.inc");

            mgr.ImportFile("Testfiles\\MT535.00591822.out");
            mgr.ImportFile("Testfiles\\MT940.00322918.out");
            mgr.ImportFile("Testfiles\\MT950.00523025.out");
        }
Example #5
0
        public void PollFolders()
        {
            var t = Settings.Default.PollFolders.Cast <string>().ToList().Select(x => new KeyValuePair <string, string>(Path.GetDirectoryName(x), Path.GetFileName(x)));

            var mgr = new SwiftImportManager(new DataLayer(new DatabaseController(Settings.Default.ConnectionString)), Settings.Default.PollFolders.Cast <string>());

            //new AutoResetEvent(false).WaitOne();
        }
Example #6
0
 private void StopWork()
 {
     im = null;
 }