public IActionResult RetrieveBooks([FromBody] SortedBooks sortObj) { var bookcase = new BookStore().GetBooks(sortObj); return(new ObjectResult(bookcase)); }
//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); }