public void SetCurrentLanguage(Language language) { if (!Languages.Any(l => l.Equals(language))) { Languages.Add(language); } CurrentLanguage = language; }
public bool HasLanguage(Language language, LanguageLevel languageLevel) { if (Languages.Any(x => x.Language == language && x.LanguageLevel.Level >= (languageLevel != null? languageLevel.Level : 0))) { return(true); } return(false); }
private bool AddExtensionToExistingExtension(string existingExtension, string newExtension) { if (Languages.Any(x => x.Extensions.Contains(newExtension))) { return(false); } UpdateLanguages(new[] { existingExtension }, l => { l.Extensions = l.Extensions.Concat(new[] { newExtension }); }); return(true); }
/// <summary> /// Updates the <see cref="Languages"/> table with any items from the specified <paramref name="languages"/> collection /// that are missing in the <see cref="Languages"/> table. /// </summary> /// <param name="languages">List of languages to add (if missing) to the <see cref="Languages"/> table.</param> public void AddMissingLanguages(IEnumerable <string> languages) { foreach (var language in languages) { if (!Languages.Any(row => row.Name.Equals(language))) { Languages.AddLanguagesRow(language); } } }
private bool AddLanguageIfNotExistent(string extension, Language language) { //We just want to check if our extension is already added as extension somewhere and add it as new Language if not if (!Languages.Any(x => x.Extensions.Contains(extension))) { Languages.Add(language); return(true); } return(false); }
private bool FilterTokens(object obj) { bool b = false; var vm = obj as TypedItem; if (vm != null) { b = !Languages.Any(x => x.Language.Equals(vm.Key)); } return(b); }
public void GetObjectData(SerializationInfo info, StreamingContext context) { if (info == null) { throw new ArgumentNullException(nameof(info)); } // used for custom servers, custom server data should never be serialized if (ServerKey != null) { return; } // cancel if required data is invalid if (Languages?.Any() != true || DownloadCollection?.Any() != true || DownloadCollection.Values.FirstOrDefault()?.Any() != true || DownloadCollection.SelectMany(x => x.Value).Any(x => x?.Item1?.StartsWithEx("http") != true || x.Item2 == default(string) || x.Item2.Length != Crypto.Md5.HashLength && x.Item2.Length != Crypto.Sha1.HashLength && x.Item2.Length != Crypto.Sha256.HashLength && x.Item2.Length != Crypto.Sha384.HashLength && x.Item2.Length != Crypto.Sha512.HashLength && !x.Item2.EqualsEx("None"))) { return; } // finally serialize valid data info.AddValue(nameof(Key), Key); info.AddValue(nameof(Name), Name); info.AddValue(nameof(Description), Description); info.AddValue(nameof(Category), Category); info.AddValue(nameof(Website), Website); info.AddValue(nameof(DisplayVersion), DisplayVersion); info.AddValue(nameof(PackageVersion), PackageVersion); info.AddValue(nameof(VersionData), VersionData); info.AddValue(nameof(DefaultLanguage), DefaultLanguage); info.AddValue(nameof(Languages), Languages); info.AddValue(nameof(DownloadCollection), DownloadCollection); info.AddValue(nameof(UpdateCollection), UpdateCollection); info.AddValue(nameof(DownloadSize), DownloadSize); info.AddValue(nameof(InstallSize), InstallSize); info.AddValue(nameof(Requirements), Requirements); info.AddValue(nameof(Advanced), Advanced); }
private bool IsLanguagesValid() { LanguagesErrors = null; if (Languages.Any(s => s.LanguageId == 0)) { LanguagesErrors += "Language field must be filled.\r\n"; } if (Languages.Any(s => s.LanguageLevelId == 0)) { LanguagesErrors += "Language level field must be filled.\r\n"; } if (Languages.GroupBy(l => l.LanguageId).Any(l => l.Count() > 1)) { LanguagesErrors += "Remove identical languages.\r\n"; } LanguagesErrors = LanguagesErrors?.Trim(); return(LanguagesErrors == null); }
public static bool ContainsLine(string line) { return(Languages.Any(line.StartsWith)); //return Languages.Any(line.Contains); }
/// <summary> /// Determines whether the specified language code is excluded. /// </summary> /// <param name="lcid">The language to verify.</param> /// <returns><see langword="true"/> if the language is exclude; <see langword="false"/> otherwise.</returns> public bool ExcludesLanguage(int lcid) { return(Languages.Any() && ((Languages.Contains(lcid) && Attributes.HasFlag(UpgradeAttributes.LanguagesExclusive)) || (!Languages.Contains(lcid) && !Attributes.HasFlag(UpgradeAttributes.LanguagesExclusive)))); }
private bool ExtensionExists(string extension) { return(Languages.Any(x => x.Extensions.Contains(extension))); }