// Button 'Find room' // Display available rooms for selected date private void buttonSearchRoomBookingAvailable_Click(object sender, EventArgs e) { if (listBoxGuest.SelectedIndex > -1 && comboBoxRoomType.SelectedIndex > -1) { int roomtypeid = Convert.ToInt32(comboBoxRoomType.SelectedValue); string datefrom = datePickerArrival.Value.ToString("yyyy-MM-dd"); string dateto = datePickerDeparture.Value.ToString("yyyy-MM-dd"); // Clear flowlayoutpanel and set parameter to enable drag and drop flowLayoutPanel1.Controls.Clear(); roomchecked = false; roomid = null; ValidateInput(); // Check all relevant fields for input if (validinput) { // Check available rooms MySqlDataReader getAvailableRooms = DBGetData.GetAvailableRooms(roomtypeid, datefrom, dateto); while (getAvailableRooms.Read()) { // Generate panels to indicate available rooms // Create event handlers for click and drag and drop with values from listBoxGuest Panel p = new Panel(); p.Name = getAvailableRooms["roomid"].ToString(); p.Size = new Size(79, 35); p.BackColor = Color.Yellow; p.AllowDrop = true; // Setup event handlers for DragOver, DragDrop and Click p.DragDrop += new System.Windows.Forms.DragEventHandler(this.panelRoom_DragDrop); p.DragOver += new System.Windows.Forms.DragEventHandler(this.panelRoom_DragOver); p.Click += new EventHandler(this.panelRoom_Click); this.flowLayoutPanel1.Controls.Add(p); // Draw room number on panel Font drawFont = new Font("Tahoma", 12); p.Paint += (ss, ee) => { ee.Graphics.DrawString(p.Name, drawFont, Brushes.Black, 20, 8); }; } getAvailableRooms.Dispose(); } } }