private async Task <object> CommandSaveExecute(object obj)
        {
            if (pack.Cards.Any(c => c.Card == null || c.Card == Card.Unknown))
            {
                ErrorMessage = "Please select 6 cards";
                return(null);
            }

            ButtonSaveLabel   = "Saving...";
            ButtonSaveEnabled = false;

            ErrorMessage = null;

            if (settings.Packs_ScreenshotAfterAdded)
            {
                ButtonSaveLabel = "Taking screenshot...";
                await Task.Factory.StartNew(() => TakePackScreenshot());
            }
            ButtonSaveLabel = "Saving pack...";
            ITracker tracker = trackerFactory.GetTracker();

            Pack.DateOpened = trackerFactory.GetDateTimeNow();
            tracker.Packs.Add(Pack);
            await Task.Factory.StartNew(() => trackerFactory.GetFileManager().SaveDatabase());

            InitNewPack();

            ButtonSaveLabel   = "Save";
            ButtonSaveEnabled = true;

            return(null);
        }
        private void SetDeckName(DeckType newType)
        {
            switch (newType)
            {
            case DataModel.Enums.DeckType.Constructed:
                Deck.Name = String.Empty;
                break;

            case DataModel.Enums.DeckType.VersusArena:
                Deck.Name = string.Format(settings.NewDeck_VersusArenaName, trackerFactory.GetDateTimeNow());
                break;

            case DataModel.Enums.DeckType.SoloArena:
                Deck.Name = string.Format(settings.NewDeck_SoloArenaName, trackerFactory.GetDateTimeNow());
                break;

            default:
                throw new NotImplementedException();
            }
            RaisePropertyChangedEvent("Deck");
        }