コード例 #1
0
ファイル: ManagerParkingCar.cs プロジェクト: jhy0409/jhy0409
        private void button_park_Click(object sender, EventArgs e)
        {
            PrintLog("주차 버튼 클릭", DateTime.Now.ToString(NOWTIME_YEAR_MONTH_DAY_FORMAT));

            //공간번호
            if (textBox_parkingSpot.Text.Trim() == "") //Trim 공백 제거 함수
            {
                showError("주차공간을 입력하여 주세요.");
            }
            else if (textBox_carNumber.Text.Trim() == "") //차량 번호를 입력하지 않은 경우
            {
                showError("차번호를 입력해라");
            }
            else
            {
                try
                {
                    //참조변수와 람다개념을 알고 있는 경우!
                    ParkingCar car = dm.Cars.Single
                                         ((x) => x.parkingSpot.ToString() == textBox_parkingSpot.Text);
                    if (car.carNumber.Trim() != "") //이미 차 정보가 저장되어있음
                    {
                        showError("해당 공간에는 이미 차 있어요." + textBox_parkingSpot.Text);
                    }
                    else //아직 차 정보가 없음
                    {
                        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_ManageParkingCar.DataSource = null;
                        dataGridView_ManageParkingCar.DataSource = dm.Cars;

                        dm.Save(car);

                        string contents = $"주차 공간 {textBox_parkingSpot.Text}에 {textBox_carNumber.Text}차를 주차함";
                        MessageBox.Show(contents);
                        PrintLog(contents, DateTime.Now.ToString(NOWTIME_YEAR_MONTH_DAY_FORMAT));

                        dataGridView_ManageParkingCar.ClearSelection();                       //셀 선택 자체를 다 없앰
                                                                                              //dataGridView_ManageParkingCar.Rows[int.Parse(textBox_parkingSpot.Text)-1].Selected = true; //행 전체 선택
                        int lastRow = dataGridView_ManageParkingCar.CurrentRow.Index;
                        dataGridView_ManageParkingCar.Rows[lastRow].Cells[0].Selected = true; //Row[n][0] 번째 즉 한 행의 가장 왼쪽에 있는 셀 1개 선택
                    }
                }
                catch (Exception ex)
                {
                    string contents = "주차 할 수 없습니다." + textBox_parkingSpot.Text;
                    showError(ex, contents);
                }
            }
        }
コード例 #2
0
ファイル: ManagerParkingCar.cs プロジェクト: jhy0409/jhy0409
        private void dataGridView_ManageParkingCar_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dm.Cars.Count <= 0) //CARS에 아무것도 없다면 셀을 클릭해도 의미가 없으므로 리턴시킴. 그리고 이거 없으면 오류 남
            {
                return;
            }

            try
            {
                ParkingCar temp = dataGridView_ManageParkingCar.CurrentRow.DataBoundItem as ParkingCar;
                textBox_parkingSpot.Text = temp.parkingSpot.ToString();
                textBox_carNumber.Text   = temp.carNumber;
                textBox_driverName.Text  = temp.driverName;
                textBox_phoneNumber.Text = temp.phoneNumber;
                //클릭해서 조회하고 싶은 경우
                textBox_selectedParkingSpot.Text = temp.parkingSpot.ToString();
            }
            catch (Exception ex)
            {
                showError(ex, "dataGridView_ManageParkingCar_CellClick");
            }
        }