Exemple #1
0
        /// <summary>
        /// Method for searching database for 0 up to 2 keywords (firstname or lastname).
        /// </summary>
        /// <param name="searchString">Optional to include search parameter. If no parameter is included, the search will return everyone in database.</param>
        /// <returns>Returns the datatable with 0 or more rows depending on searchresult.</returns>
        public DataTable GetAllPersons(string searchString = null)
        {
            /*******************************************************************
            *                    GETALLPERSONS() - PUBLIC
            *******************************************************************/
            string sql = "SELECT * FROM Persons ";
            var    nameOrCityOrDate = default(string);
            var    lName            = default(string);

            if (searchString != null)
            {
                var split = searchString.Split(' ');

                if (split.Length > 1)
                {
                    nameOrCityOrDate = split[0];
                    lName            = split[1];
                    sql += "WHERE firstName LIKE @fName OR lastName LIKE @lName ORDER BY firstName";
                    return(GetDataTable(sql, ("@fName", $"%{nameOrCityOrDate}%"), ("@lName", $"%{lName}%")));
                }
                else
                {
                    nameOrCityOrDate = split[0];
                    sql += "WHERE firstName LIKE @fName OR lastName LIKE @lName OR birthPlace LIKE @bPlace OR birthDate LIKE @bDate ORDER BY firstName";
                    return(GetDataTable(sql, ("@fName", $"%{nameOrCityOrDate}%"), ("@lName", $"%{nameOrCityOrDate}%"), ("bPlace", $"%{nameOrCityOrDate}%"), ("bDate", $"%{nameOrCityOrDate}%")));
                }
            }
            sql += "ORDER BY firstName";
            return(GetDataTable(sql));
        }
Exemple #2
0
        /// <summary>
        /// Denna metoden returnerar en lista på barn till en person i databasen.
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public List <string> GetChild(int ID)
        {
            var list    = new List <string>();
            var barnFar = GetDataTable("SELECT Förnamn FROM Personer WHERE FarID = @FarID", Familjeträd, ("@FarID", ID.ToString()));

            foreach (DataRow row in barnFar.Rows)
            {
                list.Add($"{row["Förnamn"].ToString().Trim()}");
            }
            var barnMor = GetDataTable("SELECT Förnamn FROM Personer WHERE MorID = @MorID", Familjeträd, ("@MorID", ID.ToString()));

            foreach (DataRow row in barnMor.Rows)
            {
                list.Add($"{row["Förnamn"].ToString().Trim()}");
            }
            return(list);
        }
Exemple #3
0
        public void InitializeData(string jsonSchemaName)
        {
            sJsonPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Data\", jsonSchemaName);
            sJsonRead = File.ReadAllText(sJsonPath);

            jTokens = JArray.Parse(sJsonRead).ToList();

            GetDataTable?.Invoke(CreateDataTable());
            GetModelObject?.Invoke(jTokens);
        }
        /// <summary>
        /// Kollar om det redan finns en databas genom det namnet som skickas in som parameter.
        /// Informationen som hämtas läggs in i en tabell, om det är fler rader än 0 i tabellen så returneras true.
        /// </summary>
        /// <returns>Bool, Sant eller falskt</returns>
        internal bool CheckIfDatabaseExist(string name)
        {
            var db = GetDataTable("SELECT name FROM sys.databases WHERE name = @name", ("@name", name));

            return(db?.Rows.Count > 0);
        }
Exemple #5
0
        /// <summary>
        /// Denna metoden innehåller speciella sökningar som användaren kan göra.
        /// </summary>
        public void SpecialSearch()
        {
            var db     = new Databas();
            var person = new Person();

            Console.WriteLine("Vad för slags sökning vill du göra?\n\n(1) Lista upp personer som är födda ett visst årtal.");
            Console.WriteLine("(2) Lista upp förnamn som har ett förnamn börjar på en viss bokstav.\n(3) Lista upp personer som är från en viss stad.");
            Console.WriteLine("(4) Lista upp personer som har ett efternamn som börjar på en viss bokstav.\n(5) Lista upp personer som är födda i ett visst land\n");

            string input = Console.ReadLine();

            if (input == "1")
            {
                Console.WriteLine("Skriv in årtalet.");
                var choice = Console.ReadLine();
                var people = GetDataTable("SELECT Förnamn, Efternamn FROM Personer WHERE Född = @choice", Familjeträd, ("@choice", choice));
                if (people.Rows.Count == 0)
                {
                    Console.WriteLine($"Det finns inga personer födda {choice}.");
                }
                else if (people.Rows.Count >= 1)
                {
                    foreach (DataRow row in people.Rows)
                    {
                        Console.WriteLine($"{row["Förnamn"].ToString()} {row["Efternamn"].ToString()}");
                    }
                }
            }
            if (input == "2")
            {
                Console.WriteLine("Skriv in bokstaven. (Det går bra att skriva mer än en bokstav, ex. Lu för Luke och Lukas)");
                string charInput = Console.ReadLine();
                string choice    = $"{charInput}%";
                var    people    = GetDataTable("SELECT Förnamn, Efternamn FROM Personer WHERE Förnamn LIKE @choice", Familjeträd, ("@choice", choice));
                if (people.Rows.Count == 0)
                {
                    Console.WriteLine($"Det finns inga personer som börjar på {charInput}.");
                }
                else if (people.Rows.Count >= 1)
                {
                    foreach (DataRow row in people.Rows)
                    {
                        Console.WriteLine($"{row["Förnamn"].ToString()} {row["Efternamn"].ToString()}");
                    }
                }
            }
            if (input == "3")
            {
                Console.WriteLine("Skriv in staden.");
                var choice = Console.ReadLine();
                var people = GetDataTable("SELECT Förnamn, Efternamn FROM Personer WHERE Födelsestad = @choice", Familjeträd, ("@choice", choice));
                if (people.Rows.Count == 0)
                {
                    Console.WriteLine($"Det finns inga personer födda ifrån staden {choice}.");
                }
                else if (people.Rows.Count >= 1)
                {
                    foreach (DataRow row in people.Rows)
                    {
                        Console.WriteLine($"{row["Förnamn"].ToString()} {row["Efternamn"].ToString()}");
                    }
                }
            }
            if (input == "4")
            {
                Console.WriteLine("Skriv in bokstaven. (Det går bra att skriva mer än en bokstav, ex. Sm för Smith och Smithsson)");
                string charInput = Console.ReadLine();
                string choice    = $"{charInput}%";
                var    people    = GetDataTable("SELECT Förnamn, Efternamn FROM Personer WHERE Efternamn LIKE @choice", Familjeträd, ("@choice", choice));
                if (people.Rows.Count == 0)
                {
                    Console.WriteLine($"Det finns inga personer som börjar på {charInput}.");
                }
                else if (people.Rows.Count >= 1)
                {
                    foreach (DataRow row in people.Rows)
                    {
                        Console.WriteLine($"{row["Förnamn"].ToString()} {row["Efternamn"].ToString()}");
                    }
                }
            }
            if (input == "5")
            {
                Console.WriteLine("Skriv in landet.");
                string choice = Console.ReadLine();
                var    people = GetDataTable("SELECT Förnamn, Efternamn FROM Personer WHERE Födelseland LIKE @choice", Familjeträd, ("@choice", choice));
                if (people.Rows.Count == 0)
                {
                    Console.WriteLine($"Det finns inga personer som är födda efter {choice}.");
                }
                else if (people.Rows.Count >= 1)
                {
                    foreach (DataRow row in people.Rows)
                    {
                        Console.WriteLine($"{row["Förnamn"].ToString()} {row["Efternamn"].ToString()}");
                    }
                }
            }
        }