Пример #1
0
        /// <summary>
        /// Removes the association between a check and a language.
        /// If the association doesn't exist, nothing happens.
        /// </summary>
        /// <param name="checkName">Check to disable on language.</param>
        /// <param name="language">Language to disable check on.</param>
        public void DisableCheckForLanguage(string checkName, string language)
        {
            var candidates = LanguageChecks.Where(lc => lc.LanguagesRow.Name.Equals(language) && lc.ChecksRow.Name.Equals(checkName));

            if (candidates.Count() == 0)
            {
                return;
            }

            LanguageChecks.RemoveLanguageChecksRow(candidates.First());
        }
Пример #2
0
        /// <summary>
        /// Establishes an association between a check and a language.
        /// </summary>
        /// <param name="checkName">Check to enable on language.</param>
        /// <param name="language">Language to enable check on.</param>
        public void EnableCheckForLanguage(string checkName, string language)
        {
            var checkRow    = Checks.Single(c => c.Name.Equals(checkName));
            var languageRow = Languages.Single(l => l.Name.Equals(language));

            if (LanguageChecks.Any(row => row.CheckID == checkRow.ID && row.LanguageID == languageRow.ID))
            {
                return;
            }
            LanguageChecks.AddLanguageChecksRow(checkRow, languageRow);
        }
Пример #3
0
        /// <summary>
        /// Establishes or removes an association between a check and all languages.
        /// </summary>
        /// <param name="checkName">Check to enable or disable on all languages.</param>
        /// <param name="enable">If true, an association will be established. If false, the association will be removed if any.</param>
        public void EnableCheckForAllLanguages(string checkName, bool enable)
        {
            var checkRow = Checks.Single(c => c.Name.Equals(checkName));

            if (enable)
            {
                //Add any missing entries for this check
                foreach (var languageRow in Languages)
                {
                    if (LanguageChecks.Any(row => row.CheckID == checkRow.ID && row.LanguageID == languageRow.ID))
                    {
                        continue;
                    }
                    LanguageChecks.AddLanguageChecksRow(checkRow, languageRow);
                }
            }
            else
            {
                //Remove existing entries for this check
                LanguageChecks.Where(c => c.ChecksRow.Name.Equals(checkName)).ToList().ForEach(LanguageChecks.RemoveLanguageChecksRow);
            }
        }