private void HandleSearchBookRequest(SendMessage send, SearchBookRequest m) { using (SqlConnection conn = new SqlConnection(_connection)) { conn.Open(); SqlCommand comm = conn.CreateCommand(); SqlTransaction trans; trans = conn.BeginTransaction(); comm.Connection = conn; comm.Transaction = trans; try { InitializeSearchBookCommand(ref comm, m); List <Book> l = new List <Book>(); GrabSearchBook(comm, ref l); _logger("Successfully found " + l.Count + " Book rows in the data base."); send(new SearchBookResponse(l)); } catch (Exception ex) { _logger(ex.ToString()); } } }
private void InitializeSearchBookCommand(ref SqlCommand c, SearchBookRequest m) { c.CommandType = System.Data.CommandType.StoredProcedure; c.CommandText = "Book.SearchBookWithAll"; c.Parameters.AddWithValue("@Title", m.Payload.Name); c.Parameters.AddWithValue("@FirstName", m.Payload.Author.FirstName); c.Parameters.AddWithValue("@LastName", m.Payload.Author.LastName); c.Parameters.AddWithValue("@ISBN", m.Payload.ISBN); c.Parameters.AddWithValue("@GenreDescriptor", m.Payload.Genre); }
public IQueryable <Book> GetAllBooks(SearchBookRequest request) { var query = Persistence.Query <Book>(); if (!string.IsNullOrWhiteSpace(request.Title)) { query = query.Where(_ => _.Title.Contains(request.Title) || _.AlternativeTitle.Contains(request.Title)); } return(query.OrderBy(_ => _.Title)); }
private void DecideSearchBookRequest(SendMessage send, SearchBookRequest m) { if (m.Payload.BookInfoOnly) { HandleSearchBookInfoRequest(send, m); } else { HandleSearchBookRequest(send, m); } }