public void AddDeployModeRule(LeagueRADSFileDeployMode originalDeployMode, LeagueRADSFileDeployMode targetDeployMode, string projectName = null)
        {
            LeagueRADSDeployModeRule foundDeployModeRule = _rules.Find(x => x.Project == projectName);

            if (foundDeployModeRule == null)
            {
                foundDeployModeRule = new LeagueRADSDeployModeRule(projectName);
                _rules.Add(foundDeployModeRule);
            }
            foundDeployModeRule.AddDeployModeProjectRule(originalDeployMode, targetDeployMode);
        }
        private LeagueRADSFileDeployMode GetTargetLeagueDeployMode(string project, ReleaseManifestFileEntry originalFileEntry)
        {
            LeagueRADSDeployModeRule foundRule = _rules.Find(x => x.Project == project);

            if (foundRule == null)
            {
                foundRule = _rules.Find(x => x.Project == null);
            }
            LeagueRADSFileDeployMode originalDeployMode = LeagueRADSFileDeployMode.Default;

            if (originalFileEntry != null)
            {
                switch (originalFileEntry.DeployMode)
                {
                case DeployMode.Deployed0:
                    originalDeployMode = LeagueRADSFileDeployMode.Deployed0;
                    break;

                case DeployMode.Managed:
                    originalDeployMode = LeagueRADSFileDeployMode.Managed;
                    break;

                case DeployMode.RAFCompressed:
                    originalDeployMode = LeagueRADSFileDeployMode.RAFCompressed;
                    break;

                case DeployMode.RAFRaw:
                    originalDeployMode = LeagueRADSFileDeployMode.RAFRaw;
                    break;

                case DeployMode.Deployed4:
                    originalDeployMode = LeagueRADSFileDeployMode.Deployed4;
                    break;
                }
            }
            return(foundRule.GetTargetDeployMode(originalDeployMode));
        }