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);
        }