public GameSetting GetGameSetting(string gameName, string publisherName, string developerName, string platformFolder, string gameRootFolder, List <DisableIntroductionAction> disablingIntroductionActions, IllustrationPlatformEnum platformType, string illustrationUrl)
        {
            //Determine if illustration is valid
            var action  = new ValidateIllustrationAction(platformType, illustrationUrl);
            var isValid = action.Execute();

            //Determine illustration Code
            var illustration     = IllustrationPlatformEnum.Unknown;
            var illustrationCode = string.Empty;

            if (isValid)
            {
                var extractIllustrationCodeAction = new ExtractIllustrationCodeAction(platformType, illustrationUrl);
                illustrationCode = extractIllustrationCodeAction.Execute();
                illustration     = platformType;
            }

            //Determine rootValidationRule
            var generateRootValidationRulesAction = new GenerateRootValidationRulesAction(_fileSystemDal);
            var validationRules = generateRootValidationRulesAction.Execute(Path.Combine(platformFolder, gameRootFolder)).ToList();

            //Create new game settings
            var generateNewGameSetting = new GenerateNewGameSettingAction(_gameSettingsRepository);

            return(generateNewGameSetting.Execute(gameName, publisherName, developerName, platformFolder,
                                                  gameRootFolder, disablingIntroductionActions, validationRules, illustration, illustrationCode));
        }
        public void ExtractUplay_UnvalidPattern()
        {
            const string illustrationUrl = "http://store.ubi.com/dw/image/v2/ABBS_PRD/on/demandware.static/-/Sites-mastertalog/default/dw266cd145/images/large/584543894e01656a168b4567.jpg?sw=192&sh=245&sm=fit";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.Uplay;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);

            action.Execute();
        }
        public void ExtractBattleNet_UnvalidPattern()
        {
            const string illustrationUrl = "https://bnetcmsus-a.akamaihd.net/cms/page_me0dia/BZ5PE09UZVHF1506441173647.jpg";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.BattleNet;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);

            action.Execute();
        }
        public void ExtractOrigin_UnvalidPattern()
        {
            const string illustrationUrl = "https://originassets.akamaized.net/origin-com-store-final-ass00ets-prod/193632/231.0x326.0/1047228_LB_231x326_en_US_%5E_2017-05-26-22-43-31_4a0f2ef46a1183b885840fb8d0a7b7cc795b4a9f.jpg";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.Origin;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);

            action.Execute();
        }
        public void ExtractGog_UnvalidPattern()
        {
            const string illustrationUrl =
                "https://images-1.gogog.com/b509eebef606ff5cebde31c74e31b01352e9c347e60afaefacff8924b1111b42_product_quartet_250_2x.jpg";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.Gog;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);

            action.Execute();
        }
        public void ExtractSteam_UnvalidPattern()
        {
            const string illustrationUrl =
                "http://cdn.edgecast.steamstatic.com/steam/aPPpps/110800/header.jpg?t=1482775022";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.Steam;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);

            action.Execute();
        }
        public void ExtractBattleNet_ValidPattern()
        {
            const string illustrationUrl = "https://bnetcmsus-a.akamaihd.net/cms/page_media/BZ5PE09UZVHF1506441173647.jpg";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.BattleNet;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);
            var code   = action.Execute();

            #region Validate
            Assert.AreEqual("BZ5PE09UZVHF1506441173647", code);
            #endregion
        }
        public void ExtractSteam_ValidPattern()
        {
            const string illustrationUrl =
                "http://cdn.edgecast.steamstatic.com/steam/apps/110800/header.jpg?t=1482775022";
            const IllustrationPlatformEnum platformType = IllustrationPlatformEnum.Steam;

            var action = new ExtractIllustrationCodeAction(platformType, illustrationUrl);
            var code   = action.Execute();

            #region Validate
            Assert.AreEqual("110800", code);
            #endregion
        }