private void button_parkingAdd_Click(object sender, EventArgs e) { //공간번호 입력 필수 if (textBox_parkingSpot.Text.Trim() == "") { MessageBox.Show("주차공간을 입력해주세요"); } else if (textBox_carNumber.Text.Trim() == "") { MessageBox.Show("차량 번호를 입력해주세요."); } else { try { //해당 공간에 차량이 있는 경우 ParkingCar car = DataManager.Cars.Single((x) => x.ParkingSpot.ToString() == textBox_parkingSpot.Text.ToString()); if (car.CarNumber.Trim() != "") { MessageBox.Show("해당 공간에는 이미 차량이 주차되어있습니다."); } else { //참조 복사를 사용하므로, car의 속성이 바뀌면 Cars에 있는 해당 속성들이 바뀐다. car.ParkingSpot = int.Parse(textBox_parkingSpot.Text); car.CarNumber = textBox_carNumber.Text; car.DriverName = textBox_driverName.Text; car.PhoneNumber = textBox_phoneNumber.Text; car.ParkingTime = DateTime.Now; dataGridView_parkingManager.DataSource = null; dataGridView_parkingManager.DataSource = DataManager.Cars; //바뀐 List 값을 DB Table에도 업데이트 DataManager.Save(textBox_parkingSpot.Text, textBox_carNumber.Text, textBox_driverName.Text, textBox_phoneNumber.Text); string contents = $"주차 공간 {textBox_parkingSpot.Text}에 {textBox_carNumber}차를 주차하였습니다."; WriteLog(contents); } } catch (Exception) { //아예 없는 주차공간일 경우 string contents = $"주차할 수 없습니다. 주차공간 {textBox_parkingSpot.Text} 은(는) 존재하지 않습니다."; MessageBox.Show(contents); } } }
private void dataGridView_parkingManager_CurrentCellChanged(object sender, EventArgs e) { try { // 그리드의 셀이 선택되면 텍스트박스에 글자 지정 ParkingCar car = dataGridView_parkingManager.CurrentRow.DataBoundItem as ParkingCar; textBox_parkingSpot.Text = car.ParkingSpot.ToString(); textBox_carNumber.Text = car.CarNumber; textBox_driverName.Text = car.DriverName; textBox_phoneNumber.Text = car.PhoneNumber; } catch (Exception exception) { } }
private void button_parkingRemove_Click(object sender, EventArgs e) { if (textBox_parkingSpot.Text.Trim() == "") { MessageBox.Show("주차공간을 입력해주세요."); } else { try { ParkingCar car = DataManager.Cars.Single((x) => x.ParkingSpot.ToString() == textBox_parkingSpot.Text.ToString()); if (car.CarNumber.Trim() == "") { MessageBox.Show("해당 공간에는 아직 주차된 차가 없습니다."); } else { //참조 복사를 사용하므로 car의 속성이 바뀌면 Cars에 있는 해당속성들이 바뀜 string oldcar = car.CarNumber; car.ParkingSpot = int.Parse(textBox_parkingSpot.Text); car.CarNumber = ""; car.DriverName = ""; car.PhoneNumber = ""; car.ParkingTime = new DateTime(); dataGridView_parkingManager.DataSource = null; dataGridView_parkingManager.DataSource = DataManager.Cars; bool isRemove = true; //가독성을 위하여 변수를 선언 후 파라메터에 넣음 DataManager.Save(textBox_parkingSpot.Text, "", "", "", isRemove); string contents = $"{oldcar}차를 주차 공간 {textBox_parkingSpot.Text}에서 출차하였습니다."; WriteLog(contents); } } catch (Exception) { //아예 없는 주차공간일 경우 string contents = $"출차할 수 없습니다. 주차공간 {textBox_parkingSpot.Text} 은(는) 존재하지 않습니다."; MessageBox.Show(contents); } } }
public static void Load() { try { //select문으로 해당 테이블의 전체 데이터들을 가져옴 DBHelper.selectQuery(); Cars.Clear(); //새로 조회할때마다 Clear해주긔 foreach (DataRow item in DBHelper.ds.Tables[0].Rows) { ParkingCar car = new ParkingCar(); car.ParkingSpot = int.Parse(item["ParkingSpot"].ToString()); car.CarNumber = item["CarNumber"].ToString(); car.DriverName = item["DriverName"].ToString(); car.PhoneNumber = item["PhoneNumber"].ToString(); car.ParkingTime = item["ParkingTime"].ToString() == "" ? new DateTime() : DateTime.Parse(item["ParkingTime"].ToString()); Cars.Add(car); } } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.Message + Environment.NewLine + e.StackTrace); } }