コード例 #1
0
        static void Main(string[] args)
        {
            // Load settings
            _configReader = new ConfigReader(SettingsPath);
            BaseConfig.Sources = _configReader.GetAllInstancesOf("ConnectionString");

            // Register sync events
            _sync = new SyncManager();
            _sync.OnSyncComplete += Sync_OnSyncComplete;
            _sync.OnSyncFailure += Sync_OnSyncFailure;
            _sync.OnUpdateStatus += Sync_OnUpdateStatus;
            _sync.OnSyncStart += Sync_OnSyncStart;
            _sync.OnCleanUp += Sync_OnCleanUp;

            if (WasLastRun_Local())
            {
                BaseConfig.IsLocal = false;
                Sync();
            }

            var main = new MainView();
            main.Show();

            SaveRun_Status();
            if (BaseConfig.IsLocal)
            {
                BaseConfig.IsLocal = false;
                Sync();
            }

            //Console.ReadKey();
        }
コード例 #2
0
 public void TestMediaMailerNumberOfRecipients()
 {
     var configReader = new ConfigReader();
      IMailMan mailMan = new MailMan2( configReader );
      IDetectLogFiles logFileDetector = new MediaLogDetector();
      var sut = new MediaMailerJob( mailMan, logFileDetector, configReader );
      var result = mailMan.RecipientCount();
      Assert.AreEqual( actual:result, expected:2 );
 }
コード例 #3
0
 public void TestMediaMailerJob()
 {
     var configReader = new ConfigReader();
      IMailMan mailMan = new MailMan2( configReader );
      IDetectLogFiles logFileDetector = new MediaLogDetector();
      var sut = new MediaMailerJob(mailMan, logFileDetector, configReader);
      sut.DoJob();
      Assert.IsTrue(sut.LogsMailed > 0);
 }
コード例 #4
0
        static void Main(string[] args)
        {
            var configReader = new ConfigReader(@"C:\repoSettings.xml");
            BaseConfig.Sources = configReader.GetAllInstancesOf("ConnectionString");

            SyncManager sync = new SyncManager();

            // Bind to all sync events
            sync.OnSyncComplete += Sync_OnSyncComplete;
            sync.OnSyncFailure += Sync_OnSyncFailure;
            sync.OnUpdateStatus += Sync_OnUpdateStatus;
            sync.OnSyncStart += Sync_OnSyncStart;
            sync.OnCleanUp += Sync_OnCleanUp;

            // SYNC!
            sync.SyncAllTables();
        }
コード例 #5
0
 public void TestInitialize()
 {
     sut = SystemUnderTest();
 }
コード例 #6
0
ファイル: Butler.cs プロジェクト: Quarterback16/GerardGui
        public void Go(BackgroundWorker backgroundWorker1, DoWorkEventArgs e)
        {
            try
             {
            MyWorker = backgroundWorker1;
            var configReader = new ConfigReader();

            MyJobs = new List<Job>();

            MyJobs.Add( new DropBoxCopyTflToVesuviusJob( TimeKeeper ) ); //  get any new TFL data from dropbox
            MyJobs.Add( new MediaJob() );  //  regular always
            MyJobs.Add( new LogMailerJob(new MailMan2( configReader ), new LogFileDetector(), configReader ) );  //  once daily
            MyJobs.Add( new MediaMailerJob( new MailMan2( configReader ), new MediaLogDetector(), configReader ) );  //  once daily

            #region Looking back on the games just played

            MyJobs.Add( new AssignRolesJob( TimeKeeper ) );  //  sets the ROLE on players based on actual stats
            MyJobs.Add( new YahooXmlJob( TimeKeeper ) );
            MyJobs.Add( new PerformanceReportJob( TimeKeeper ) );
            MyJobs.Add( new FantasyReportJob( TimeKeeper ) );
            MyJobs.Add( new DepthChartJob( TimeKeeper ) );
            MyJobs.Add( new StatGridJob( TimeKeeper ) );
            MyJobs.Add( new PlayOffTeamsJob( TimeKeeper ) );
            MyJobs.Add( new UpdateActualsJob( TimeKeeper ) );
            MyJobs.Add( new UpdateTeamActualsJob( TimeKeeper ) );

            #endregion

            #region  Looking forward to the upcoming games

            MyJobs.Add( new GameProjectionsJob( TimeKeeper ) ); //  once in pre season then once a week regular - always
            MyJobs.Add( new GeneratePlayerProjectionsJob( TimeKeeper ) );
            MyJobs.Add( new GameProjectionReportsJob( TimeKeeper ) );
            MyJobs.Add( new RookiesJob( TimeKeeper ) );
            MyJobs.Add( new OutputProjectionsJob( Historian ) );  //  needs game projections
            MyJobs.Add( new FantasyProjectionJob( TimeKeeper ) );
            MyJobs.Add( new HotListsJob( TimeKeeper ) );
            MyJobs.Add( new UnitReportsJob( Historian ) );
            MyJobs.Add( new TeamCardsJob( TimeKeeper ) );
            MyJobs.Add( new OldRosterGridJob( TimeKeeper ) );
            MyJobs.Add( new DefensiveReportsJob( TimeKeeper ) );
            MyJobs.Add( new SuggestedLineupsJob( TimeKeeper ) );
            MyJobs.Add( new PickupChartJob( TimeKeeper ) );
            MyJobs.Add( new PreviousPickupChartJob( TimeKeeper, Historian ) );
            MyJobs.Add( new StartersJob( TimeKeeper ) );

            #endregion

            #region Regular Always jobs
            MyJobs.Add( new RunReportJob( TimeKeeper ) );
            MyJobs.Add( new LogCleanupJob() );
            MyJobs.Add( new TflDataBackupJob() );
            MyJobs.Add( new MediaListsPublishJob() );
            #endregion

            #region Pre Season Jobs -- Long running so last in the job order
            MyJobs.Add( new PlayerCsvJob( TimeKeeper ) );
            MyJobs.Add( new BalanceReportJob( TimeKeeper ) ); //  once off - pre season
            MyJobs.Add( new FreeAgentMarketJob( TimeKeeper ) ); //  regular - pre season
            MyJobs.Add( new StrengthOfScheduleJob( TimeKeeper ) ); //  once off - pre season
            MyJobs.Add( new PlayerReportsJob( TimeKeeper ) );
            #endregion

            MyJobs.Add( new DropboxCopyToReginaJob( TimeKeeper,
              "d:\\shares\\public\\dropbox\\gridstat\\{0}",
              "\\\\Regina\\web\\medialists\\dropbox\\gridstat\\{0}"
              ) );

            MyJobs.Add( new DropboxCopyToReginaJob( TimeKeeper,
              "d:\\shares\\public\\dropbox\\gridstat\\tfl-out",
              "\\\\Regina\\web\\medialists\\dropbox\\gridstat\\tfl-out"
              ) );

            if (Passes == 0)
               ReportProgress(
                  string.Format("{0} - {1} jobs defined -Starting...",
                                 Version, MyJobs.Count), ButlerConstants.ReportInTextArea);

            while (true)
            {
               Passes++;

               Logger.Info( "-------------------------------------------------------------------------------------" );
               foreach ( var job in MyJobs )
               {
                  string whyNot;
                  if (job.IsTimeTodo(out whyNot))
                  {
                     ReportProgress(
                        string.Format("Doing job {0}", job.Name), ButlerConstants.ReportInTextArea);
                     var outcome = job.Execute();
                     ReportProgress(outcome, ButlerConstants.ReportInTextArea);
                  }
                  else
                     ReportProgress(
                        string.Format("Job skipped {0} - {1}", job.Name, whyNot),
                        ButlerConstants.ReportInTextArea);
               }
               Logger.Info( "=====================================================================================" );

               ReportProgress(string.Format(
                  "Pass Number {0} done - next pass ({1}) {2:HH:mm}",
                  Passes, Pollinterval, DateTime.Now.AddMinutes(Pollinterval)));
               Thread.Sleep(Pollinterval * 60 * 1000); //  <pollInterval> hours

               if (!MyWorker.CancellationPending) continue;

               e.Cancel = true;
               break;
            }
             }
             catch (Exception ex)
             {
            if (Logger == null) Logger = LogManager.GetCurrentClassLogger();
            Logger.Error(ex.Message);
            Logger.Error(ex.StackTrace);
            throw;
             }
        }