private void button3_Click(object sender, EventArgs e) { try { string contents = ""; parkingcar car = Datamanager.Cars.Single((x) => x.parkingSpot.ToString() == textBox5.Text); if (car.carNumber.Trim() == "")// 이미 차 정보가 저장되어 있음 { contents = $"{car.parkingSpot}번 주차 공간 있음 \n"; writeLog("조회-공간있음" + car.parkingSpot + "번"); } else { contents = $"{car.parkingSpot}번 주차 공간 \n" + $" 차 번호: {car.carNumber} \n" + $" 차 주: {car.driverName}\n" + $" 전화번호 : {car.phoneNumber}"; } MessageBox.Show(contents); writeLog(contents, DateTime.Now.ToString("yyyy_MM_dd")); } catch (Exception ex) { writeLog("값이 없음"); writeLog(ex.Message); writeLog(ex.StackTrace); } }
private void button1_Click(object sender, EventArgs e) { writeLog("주차 버튼 클릭"); if (textBox1.Text.Trim() == "")//Trim 공백 제거 함수 { MessageBox.Show("주차공간을 입력해라"); writeLog("주차공간을 입력해라"); } else if (textBox2.Text.Trim() == "")//차량번호를 입력하지 않은 경우 { MessageBox.Show("차번호를 입력하세요"); } else { try { parkingcar car = Datamanager.Cars.Single((x) => x.parkingSpot.ToString() == textBox1.Text); if (car.carNumber.Trim() != "")// 이미 차 정보가 저장되어 있음 { MessageBox.Show("해당 공간에는 이미 차 있어요" + textBox1.Text); writeLog("해당 공간에는 이미 차 있어요" + textBox1.Text); } else//아직 차 정보 없음 { car.parkingSpot = int.Parse(textBox1.Text); car.carNumber = textBox2.Text; car.driverName = textBox3.Text; car.phoneNumber = textBox4.Text; car.parkingTime = DateTime.Now; dataGridView1.DataSource = null; dataGridView1.DataSource = Datamanager.Cars; Datamanager.Save(); string contents = $"주차 공간 {textBox1.Text}에 {textBox2}차를 주차함"; MessageBox.Show(contents); writeLog(contents, DateTime.Now.ToString("yyyy_MM_dd")); } } catch (Exception ex) { string contents = "주차 할 수 없습니다." + textBox1.Text; MessageBox.Show(contents); writeLog(contents); writeLog(ex.Message); writeLog(ex.StackTrace); } } }
/* <parkingSpot>1</parkingSpot> * * <carNumber>30고9484</carNumber> * * <driverName>이동준</driverName> * * <phoneNumber>010-2940-1613</phoneNumber> * * <parkingTime>2021-04-16 오전 11:40:58</parkingTime>*/ public static void Load() { Cars.Clear(); try { string carsOutput = File.ReadAllText(@"./Cars.xml"); XElement carsXElement = XElement.Parse(carsOutput); foreach (var item in carsXElement.Descendants("car")) { int tempParkingSpot = int.Parse(item.Element("parkingSpot").Value); string tempCarNumber = item.Element("carNumber").Value; string tempDriverName = item.Element("driverName").Value; string tempPhoneNumber = item.Element("phoneNumber").Value; DateTime tempParkingTime = item.Element("parkingTime").Value == "" ? default : DateTime.Parse(item.Element("parkingTime").Value); parkingcar tempCar = new parkingcar() { parkingSpot = tempParkingSpot, carNumber = tempCarNumber, driverName = tempDriverName, phoneNumber = tempPhoneNumber, parkingTime = tempParkingTime }; Cars.Add(tempCar); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); printLog(ex.Message); printLog(ex.StackTrace); //만약 파일이 없어서 여기로 진입한 경우라면 CreateFile(); //파일을 다시 만들고 Save(); // 그 파일을 저장한 다음 Load(); // 다시 불러 들여본다 //단, Load 함수 자체가 잘못된 거라면 이 코드는 무한루프에 빠진다... } }
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { try { parkingcar temp = dataGridView1.CurrentRow.DataBoundItem as parkingcar; //그리드뷰에 있는 데이터를 parkingcar로 자동으로 형변환 해서 넣어줌 textBox1.Text = temp.parkingSpot.ToString(); textBox2.Text = temp.carNumber; textBox3.Text = temp.driverName; textBox4.Text = temp.phoneNumber; textBox5.Text = temp.parkingSpot.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show(ex.StackTrace); writeLog(ex.Message); writeLog(ex.StackTrace); throw; } }