Example #1
0
        public ICardsDatabase GetLatestCardsDB()
        {
            string         url                = settings.VersionCheck_CardsDBUrl;
            ICardsDatabase returnValue        = null;
            var            requestErrorPolicy = Policy
                                                .Handle <System.Net.WebException>()
                                                .Fallback(
                () => { returnValue = trackerFactory.GetService <ICardsDatabase>(); },
                (ex, context) => {
                Logger.Trace(ex, "Exception when retreiving cards DB from {0}", url);
                Logger log = LogManager.GetLogger(App.UserInfoLogger);
                log.Info(ex.Message);
            }
                );

            requestErrorPolicy.Execute(() =>
            {
                Logger.Trace("Start retreiving cards DB from {0}", url);
                IHTTPService httpService = trackerFactory.GetService <IHTTPService>();
                string cardsDBContent    = httpService.SendGetRequest(url);
                ICardsDatabase cardsDB   = trackerFactory.GetFileManager().UpdateCardsDB(cardsDBContent);
                Logger.Trace("Finished retreiving cards DB from {0}", url);
                returnValue = cardsDB;
            });

            return(returnValue);
        }
Example #2
0
        public AddSingleRewardViewModel(ITrackerFactory trackerFactory)
        {
            this.trackerFactory = trackerFactory;
            cardsDatabase       = trackerFactory.GetService <ICardsDatabase>();

            CommandAddButtonPressed = new RelayCommand(new Action <object>(AddClicked));
            CommandDeleteClicked    = new RelayCommand(new Action <object>(DeleteClicked));
        }
Example #3
0
        public OpenPackViewModel(TrackerFactory trackerFactory)
        {
            CommandSave = new RealyAsyncCommand <object>(CommandSaveExecute);

            this.trackerFactory = trackerFactory;
            settings            = trackerFactory.GetService <ISettings>();
            cardsDatabase       = trackerFactory.GetService <ICardsDatabase>();

            InitNewPack();
        }
Example #4
0
        public OpeningPackStatsWindowViewModel(TrackerFactory trackerFactory) : base(trackerFactory)
        {
            cardImageService = trackerFactory.GetService <ICardImageService>();
            winDialogs       = trackerFactory.GetService <IWinDialogs>();
            cardsDatabase    = trackerFactory.GetService <ICardsDatabase>();

            CommandExportToCsv = new RealyAsyncCommand <object>(CommandExportToCsvExecute);
            CommandOpenCsv     = new RealyAsyncCommand <object>(CommandOpenCsvExcute);

            packSetFilter = AllFilter;
        }
        public void SetPacksToCore(ITracker tracker)
        {
            ICardsDatabase cardsDb = TrackerFactory.DefaultTrackerFactory.GetService <ICardsDatabase>();
            CardSet        core    = cardsDb.CardSets.Where(cs => cs.Name == "Core").Single();

            foreach (Pack p in tracker.Packs)
            {
                p.CardSet = core;
            }
            Logger.Info("Converted {0} packs", tracker.Packs.Count);
        }
 public CardInstance(Card card, ITrackerFactory trackerFactory)
 {
     this.Card           = card;
     this.trackerFactory = trackerFactory;
     if (cardImageService == null)
     {
         cardImageService = trackerFactory.GetService <ICardImageService>();
     }
     if (cardsDatabase == null)
     {
         cardsDatabase = trackerFactory.GetService <ICardsDatabase>();
     }
 }
Example #7
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            ConfigurationItemFactory.Default.Targets
            .RegisterDefinition("UserInfoLogger", typeof(ESLTracker.Utils.NLog.UserInfoLoggerTarget));

            AppDomain.CurrentDomain.UnhandledException += (s, ex) =>
                                                          HandleUnhandledException((Exception)ex.ExceptionObject, "AppDomain.CurrentDomain.UnhandledException");

            DispatcherUnhandledException += (s, ex) =>
                                            HandleUnhandledException(ex.Exception, "Application.Current.DispatcherUnhandledException");

            TaskScheduler.UnobservedTaskException += (s, ex) =>
                                                     HandleUnhandledException(ex.Exception, "TaskScheduler.UnobservedTaskException");

            CheckSingleInstance();
            CheckDataFile();
            IVersionService vc         = TrackerFactory.DefaultTrackerFactory.GetService <IVersionService>();
            var             settings   = TrackerFactory.DefaultTrackerFactory.GetService <ISettings>();
            var             newVersion = vc.CheckNewAppVersionAvailable();

            if (newVersion.IsAvailable)
            {
                Logger userInfo = LogManager.GetLogger(App.UserInfoLogger);
                userInfo.Info(NewVersionAvailable, new Dictionary <string, string> {
                    { OpenChangelog, settings.VersionCheck_LatestBuildUserUrl },
                    { Download, newVersion.DownloadUrl }
                });
            }
            if (vc.IsNewCardsDBAvailable())
            {
                ICardsDatabase cardsDB = vc.GetLatestCardsDB();
                Logger         log     = LogManager.GetLogger(App.UserInfoLogger);
                log.Info(CardsDatabaseUpdated, new object[] { cardsDB.Version, cardsDB.VersionDate.ToShortDateString(), cardsDB.VersionInfo });
            }

            bool isShiftPressed = (Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift;

            if (settings.General_StartGameWithTracker && !isShiftPressed)
            {
                var winApi    = TrackerFactory.DefaultTrackerFactory.GetService <IWinAPI>();
                var messanger = TrackerFactory.DefaultTrackerFactory.GetService <IMessenger>();
                TrackerFactory.DefaultTrackerFactory.GetService <ILauncherService>().StartGame(winApi, messanger);
            }
        }
        public void UpdateCardsDB(string newContent)
        {
            string         fileName      = ".\\Resources\\cards.json";
            IFileWrapper   fileWrapper   = trackerfactory.GetService <IFileWrapper>();
            ICardsDatabase cardsDatabase = trackerfactory.GetService <ICardsDatabase>();

            string backupFileName = string.Format("{0}_{1}{2}",
                                                  Path.GetFileNameWithoutExtension(fileName),
                                                  cardsDatabase.Version,
                                                  Path.GetExtension(fileName)); //includes .

            backupFileName = Path.Combine(Path.GetDirectoryName(fileName), backupFileName);

            if (fileWrapper.Exists(backupFileName))
            {
                fileWrapper.Delete(backupFileName);
            }
            fileWrapper.Move(fileName, backupFileName);

            fileWrapper.WriteAllText(fileName, newContent);
            trackerfactory.GetService <ICardsDatabase>().RealoadDB();
        }
Example #9
0
        public void UpdateCardsDBTest002_EnsureNewObjectIsReturned()
        {
            string newFileContent = "{some json}";

            Mock <ITrackerFactory> trackerFactory = new Mock <ITrackerFactory>();

            Mock <ICardsDatabase> newCardsDatabase = new Mock <ICardsDatabase>();

            Mock <IFileWrapper> fileWrapper = new Mock <IFileWrapper>();

            trackerFactory.Setup(tf => tf.GetService <IFileWrapper>()).Returns(fileWrapper.Object);

            Mock <ICardsDatabase> cardsDatabase = new Mock <ICardsDatabase>();

            cardsDatabase.Setup(cd => cd.RealoadDB()).Returns(newCardsDatabase.Object);
            trackerFactory.Setup(tf => tf.GetService <ICardsDatabase>()).Returns(cardsDatabase.Object);

            FileManager fm = new FileManager(trackerFactory.Object);

            ICardsDatabase actual = fm.UpdateCardsDB(newFileContent);

            Assert.AreSame(newCardsDatabase.Object, actual);
        }
 public CardListEditorViewModel(ITrackerFactory trackerFactory)
 {
     this.trackerFactory = trackerFactory;
     this.cardsDatabase  = trackerFactory.GetService <ICardsDatabase>();
 }
Example #11
0
 static SelectCard()
 {
     cardsDatabaseService = TrackerFactory.DefaultTrackerFactory.GetService <ICardsDatabase>();
 }
 public AddSingleRewardViewModel(ITrackerFactory trackerFactory)
 {
     this.trackerFactory = trackerFactory;
     cardsDatabase       = trackerFactory.GetService <ICardsDatabase>();
 }
 public DeckImporter(ITrackerFactory trackerFactory)
 {
     this.trackerFactory = trackerFactory;
     this.cardsDatabase  = trackerFactory.GetService <ICardsDatabase>();
 }