示例#1
0
        public IActionResult RetrieveBooks([FromBody] SortedBooks sortObj)
        {
            var bookcase = new BookStore().GetBooks(sortObj);

            return(new ObjectResult(bookcase));
        }
示例#2
0
        //GET BOOKS // paging efforts INCLUDING sorting
        public IEnumerable <Book> GetBooks(SortedBooks sortObj)
        {
            List <Book> books = new List <Book>();

            var connection = GetConnection();

            var startVal = sortObj.GetType().GetProperty("startVal");
            int starting = Convert.ToInt32(startVal.GetValue(sortObj, null));

            var viewAmt = sortObj.GetType().GetProperty("viewAmt");
            int viewing = Convert.ToInt32(viewAmt.GetValue(sortObj, null));

            var    columnSort = sortObj.GetType().GetProperty("sortVal");
            string col        = columnSort.GetValue(sortObj, null) as string;

            var    directionSort = sortObj.GetType().GetProperty("sortOrder");
            string dir           = directionSort.GetValue(sortObj, null) as string;

            var    filterAuthorStart = sortObj.GetType().GetProperty("filterAuthorStart");
            string filterAStart      = filterAuthorStart.GetValue(sortObj, null) as string;

            var    filterAuthorEnd = sortObj.GetType().GetProperty("filterAuthorEnd");
            string filterAEnd      = filterAuthorEnd.GetValue(sortObj, null) as string;

            var    filterGenre = sortObj.GetType().GetProperty("filterGenre");
            string filterG     = filterGenre.GetValue(sortObj, null) as string;

            var filterYearStart = sortObj.GetType().GetProperty("filterYearStart");
            int filterYStart    = Convert.ToInt32(filterYearStart.GetValue(sortObj, null));

            var filterYearEnd = sortObj.GetType().GetProperty("filterYearEnd");
            int filterYEnd    = Convert.ToInt32(filterYearEnd.GetValue(sortObj, null));

            Console.WriteLine(starting);
            Console.WriteLine(viewing);
            Console.WriteLine(col);
            Console.WriteLine(dir);
            Console.WriteLine(filterAStart);
            Console.WriteLine(filterAEnd);
            Console.WriteLine(filterGenre);
            Console.WriteLine(filterYStart);
            Console.WriteLine(filterYEnd);

            using (connection)
            {
                string sql = "tanya";
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.CommandType = System.Data.CommandType.StoredProcedure;

                    command.Parameters.AddWithValue("@startVal", starting);
                    command.Parameters.AddWithValue("@viewAmt", viewing);
                    command.Parameters.AddWithValue("@sortVal", col);
                    command.Parameters.AddWithValue("@sortOrder", dir);
                    command.Parameters.AddWithValue("@filterAuthorStart", filterAStart);
                    command.Parameters.AddWithValue("@filterAuthorEnd", filterAEnd);
                    command.Parameters.AddWithValue("@filterGenre", filterG);
                    command.Parameters.AddWithValue("@filterYearStart", filterYStart);
                    command.Parameters.AddWithValue("@filterYearEnd", filterYEnd);

                    connection.Open();
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            books.Add(new Book
                            {
                                id     = (int)reader["id"],
                                author = (string)reader["author"],
                                title  = (string)reader["title"],
                                genre  = (string)reader["genre"],
                                year   = (int)reader["year"]
                            });
                        }
                    }
                }
            }

            connection.Close();
            return(books);
        }