public void SetCurrentLanguage(Language language)
 {
     if (!Languages.Any(l => l.Equals(language)))
     {
         Languages.Add(language);
     }
     CurrentLanguage = language;
 }
Пример #2
0
 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);
        }
Пример #4
0
 /// <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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
 public static bool ContainsLine(string line)
 {
     return(Languages.Any(line.StartsWith));
     //return Languages.Any(line.Contains);
 }
Пример #10
0
 /// <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))));
 }
Пример #11
0
 private bool ExtensionExists(string extension)
 {
     return(Languages.Any(x => x.Extensions.Contains(extension)));
 }