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);
 }
Example #3
0
        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);
     }
 }