예제 #1
0
        private void HandleRetireBookRequest(SendMessage send, RetireBookRequest m)
        {
            if (!IsAdmin(m.Payload.Email))
            {
                _logger("Did not retire book.");
                send(new RetireBookResponse(false));
                return;
            }
            using (SqlConnection conn = new SqlConnection(_connection))
            {
                conn.Open();
                SqlCommand     comm  = conn.CreateCommand();
                SqlTransaction trans = conn.BeginTransaction();
                comm.Connection  = conn;
                comm.Transaction = trans;
                try
                {
                    InitializeRetireBookCommand(ref comm, m);

                    comm.ExecuteNonQuery();
                    trans.Commit();

                    _logger("Successfully retired a book.");
                    send(new RetireBookResponse(true));
                }
                catch (Exception ex)
                {
                    _logger(ex.ToString());
                }
            }
        }
예제 #2
0
 private void InitializeRetireBookCommand(ref SqlCommand c, RetireBookRequest m)
 {
     c.CommandType = System.Data.CommandType.StoredProcedure;
     c.CommandText = "Book.RemoveBookWithID";
     c.Parameters.AddWithValue("@BookID", m.Payload.BookId);
 }