Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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)
            {
            }
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
 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);
     }
 }