Exemplo n.º 1
0
        public static string[] SelectLanguageWords(string name, string language)
        {
            WordList loadedList = WordList.LoadList(name);

            List <string> wordList = new List <string>();

            int languageCount = loadedList.Languages.Length;
            int languageIndex = 0;

            for (int i = 0; i < loadedList.Languages.Length; i++)
            {
                if (loadedList.Languages[i] == language.ToLower())
                {
                    languageIndex = i;
                    break;
                }
            }

            loadedList.List(languageIndex, translations =>
            {
                for (int i = languageIndex; i < translations.Length; i += languageCount)
                {
                    wordList.Add(translations[i]);
                }
            });

            return(wordList.ToArray());
        }
Exemplo n.º 2
0
        public static IEnumerable <string[]> AllWords(string args)
        {
            WordList loadedList    = WordList.LoadList(args);
            int      languageCount = loadedList.Languages.Length;

            List <string> wordList = new List <string>();

            loadedList.List(0, translations =>
            {
                for (int i = 0; i < translations.Length; i++)
                {
                    wordList.Add(translations[i]);
                }
            });

            for (int row = 0; row < wordList.Count / languageCount; row++)
            {
                string[] words = new string[languageCount];

                for (int column = 0; column < languageCount; column++)
                {
                    words[column] = wordList[(row * languageCount) + column].Capitalize();
                }

                yield return(words);
            }
        }
Exemplo n.º 3
0
        public static void Add(string name, string[] translations)
        {
            WordList loadedList = WordList.LoadList(name);

            loadedList.Add(translations);

            loadedList.Save();
        }
Exemplo n.º 4
0
        public static void Words(string[] args)
        {
            if (args.Length > 1)
            {
                if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat"))
                {
                    WordList loadedList = WordList.LoadList(args[1]);

                    if (loadedList.Count() != 0)
                    {
                        foreach (string language in loadedList.Languages)
                        {
                            Console.Write($"{language.ToUpper(),-15}");
                        }

                        int languageIndex = 0;

                        if (args.Length == 3)
                        {
                            for (int index = 0; index < loadedList.Languages.Length; index++)
                            {
                                if (loadedList.Languages[index] == args[2])
                                {
                                    languageIndex = index;
                                    break;
                                }
                            }
                        }

                        loadedList.List(languageIndex, translations =>
                        {
                            for (int i = 0; i < translations.Length; i++)
                            {
                                if (i % loadedList.Languages.Length == 0)
                                {
                                    Console.WriteLine();
                                }

                                Console.Write($"{translations[i],-15}");
                            }
                        });
                    }
                    else
                    {
                        Console.WriteLine("List doesn't contain any words.");
                    }
                }
                else
                {
                    Console.WriteLine("Could not find list.");
                }
            }
            else
            {
                Console.WriteLine("Please provide list name.");
            }
        }
Exemplo n.º 5
0
        public static void Practice(string[] args)
        {
            if (args.Length > 1)
            {
                if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat"))
                {
                    WordList loadedList = WordList.LoadList(args[1]);

                    int total   = 0;
                    int correct = 0;

                    string wordInput = "";

                    do
                    {
                        Word word = loadedList.GetWordToPractice();

                        Console.Write(
                            $"Enter the {loadedList.Languages[word.ToLanguage]} " +
                            $"translation for the {loadedList.Languages[word.FromLanguage]} " +
                            $"word {word.Translations[word.FromLanguage]}: ");

                        wordInput = Console.ReadLine();

                        if (wordInput == word.Translations[word.ToLanguage])
                        {
                            Console.WriteLine("Correct answer.");

                            total++;
                            correct++;
                            continue;
                        }
                        else if (wordInput == "")
                        {
                            break;
                        }

                        Console.WriteLine("Wrong answer.");

                        total++;
                    } while (wordInput != "");

                    Console.WriteLine($"You answered {correct} correct out of {total} total.");
                }
                else
                {
                    Console.WriteLine("Could not find list.");
                }
            }
            else
            {
                Console.WriteLine("Enter a list name.");
            }
        }
Exemplo n.º 6
0
        public static string[] Languages(string args)
        {
            WordList loadedList = WordList.LoadList(args);

            string[] languages = new string[loadedList.Languages.Length];

            for (int i = 0; i < languages.Length; i++)
            {
                languages[i] = loadedList.Languages[i];
            }

            return(languages);
        }
Exemplo n.º 7
0
        public static void Add(string[] args)
        {
            if (args.Length > 1)
            {
                if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat"))
                {
                    WordList loadedList = WordList.LoadList(args[1]);

                    string[] wordInput = new string[loadedList.Languages.Length];

                    do
                    {
                        if (!wordInput.Contains(null))
                        {
                            loadedList.Add(wordInput);

                            loadedList.Save();
                        }

                        Console.WriteLine("Enter translations for the new word:");

                        for (int i = 0; i < wordInput.Length; i++)
                        {
                            Console.Write($"Enter {loadedList.Languages[i]} translation: ");
                            wordInput[i] = Console.ReadLine();

                            if (wordInput[i] == "")
                            {
                                break;
                            }
                        }
                    } while (!wordInput.Contains(""));

                    loadedList.Save();
                }
                else
                {
                    Console.WriteLine("Could not find list.");
                }
            }
            else
            {
                Console.WriteLine("No list name was entered.");
            }
        }
Exemplo n.º 8
0
        public static void Count(string[] args)
        {
            if (args.Length > 1)
            {
                if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat"))
                {
                    WordList loadedList = WordList.LoadList(args[1]);

                    Console.WriteLine($"There are {loadedList.Count()} words in {args[1]}.");
                }
                else
                {
                    Console.WriteLine("Could not find list.");
                }
            }
            else
            {
                Console.WriteLine("Enter a list name.");
            }
        }
Exemplo n.º 9
0
        public static void Remove(string[] args)
        {
            if (args.Length > 3)
            {
                if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat"))
                {
                    WordList loadedList = WordList.LoadList(args[1]);

                    string[] words = new string[args.Length - 3];

                    for (int i = 0; i < words.Length; i++)
                    {
                        words[i] = args[i + 3];
                    }

                    for (int index = 0; index < loadedList.Languages.Length; index++)
                    {
                        if (loadedList.Languages[index] == args[2])
                        {
                            foreach (string word in words)
                            {
                                if (loadedList.Remove(index, word))
                                {
                                    Console.WriteLine($"Removed {word} and it's translations.");
                                }
                                else
                                {
                                    Console.WriteLine("Could not find word.");

                                    return;
                                }
                            }

                            loadedList.Save();

                            return;
                        }
                    }

                    Console.WriteLine($"Can not find language in file.");
                }
                else
                {
                    Console.WriteLine("Could not find file.");
                }
            }
            else
            {
                if (args.Length == 1)
                {
                    Console.WriteLine("Please provide list name, language and word.");
                    return;
                }
                else if (args.Length == 2)
                {
                    Console.WriteLine("Please provide language and word.");
                    return;
                }
                else
                {
                    Console.WriteLine("Please provide word.");
                }
            }
        }
Exemplo n.º 10
0
        public static void Remove(string name, Word wordToRemove)
        {
            WordList loadedList = WordList.LoadList(name);

            loadedList.Remove(0, wordToRemove.Translations[0]);
        }
Exemplo n.º 11
0
        public static int Count(string args)
        {
            WordList loadedList = WordList.LoadList(args);

            return(loadedList.Count());
        }