예제 #1
0
 public static void Delete(BusStop route)
 {
     List<ActiveRecord> schs = new List<ActiveRecord>();
     schs.Add(route);
     udtHelper.DeletedValues(schs);
     if (ItemChanged != null)
         ItemChanged(null, EventArgs.Empty);
 }
예제 #2
0
 public static BusStop SelectByBusTimeNameAndByStopID(string busTimeName, string busstopid)
 {
     BusStop nulls = new BusStop();
     List<BusStop> wills = udtHelper.Select<BusStop>("校車時段='" + busTimeName + "' and 代碼='" + busstopid + "'");
     if (wills.Count == 0)
         return nulls;
     else
         return wills[0];
 }
예제 #3
0
 public static string Insert(BusStop route)
 {
     List<ActiveRecord> logs = new List<ActiveRecord>();
     logs.Add(route);
     List<string> newIDs = udtHelper.InsertValues(logs);
     if (ItemChanged != null)
         ItemChanged(null, EventArgs.Empty);
     return newIDs[0];
 }
예제 #4
0
        private void addbtn_Click(object sender, EventArgs e)
        {
            if (this.cboBusTime.Text == "" || this.cboBus.Text == "")
            {
                MessageBox.Show("校車時段或校車車號不可為空,請重新選擇!");
                return;
            }
            else
            {
                //取得被選取的校車站名物件
                BusStop bus = new BusStop();
                bus.BusTimeName = this.cboBusTime.Text;
                bus.BusNumber = this.cboBus.Text;

                //開啟畫面
                BusDetailForm frm = new BusDetailForm();
                frm.SetBus(bus);
                frm.ShowDialog();
                this.reloadData();
            }
        }
예제 #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            bool repeat = false;
            int dollars = 0;
            //if (this._bus != null)
            if (thisBusStopNo != null)
            {
                this._bus.BusStopID = this.txtID.Text;
                this._bus.BusStopName = this.txtBusName.Text;
                if (this.txtMoney.Text == "")
                {
                    MessageBox.Show("金額不可為空,請重新輸入!");
                    repeat = true;
                }
                else if (!int.TryParse(this.txtMoney.Text, out dollars))
                {
                    MessageBox.Show("金額需為數字,請重新輸入!");
                    repeat = true;
                }
                else
                    this._bus.BusMoney = int.Parse(this.txtMoney.Text);
                this._bus.BusNumber = this.txtBusNumber.Text;
                if (this.nrBusStopNo.Value.ToString().Length == 2)
                    this._bus.BusStopNo = this._bus.BusNumber + this.nrBusStopNo.Value.ToString();
                else if (this.nrBusStopNo.Value.ToString().Length == 1)
                    this._bus.BusStopNo = this._bus.BusNumber + "0" + this.nrBusStopNo.Value.ToString();
                this._bus.BusStopAddr = this.txtBusStopAddr.Text;
                this._bus.BusUpAddr = this.cboUpAddr.Text;
                this._bus.ComeTime = this.txtCometime.Text;
                //this._bus.BusTimeName="夜輔";
                List<Data.BusStop> bustmp = Data.BusStopDAO.SelectByBusTimeNameAndNumber(this._bus.BusTimeName, this._bus.BusNumber);
                if (!repeat)
                {
                    if (this._bus.BusStopID == "" || this._bus.BusStopName == "" || this._bus.BusNumber == "")
                    {
                        MessageBox.Show("電腦代號、車號、站名名稱不可為空,請重新輸入!");
                        repeat = true;
                    }
                    else if (this._bus.BusMoney < 0)
                    {
                        MessageBox.Show("金額不可小於0,請重新輸入!");
                        repeat = true;
                    }
                    else
                    {
                        if (thisBusStopNo != this._bus.BusStopNo)
                        {
                            if (this._bus.BusStopNo.Substring(0, 2) != this._bus.BusNumber)
                            {
                                MessageBox.Show(this._bus.BusNumber + "號車與站序前兩碼不同,請重新輸入!");
                                repeat = true;
                            }
                            //foreach (Data.BusStop busrec in bustmp)
                            //{
                            //    if (this._bus.BusStopNo == busrec.BusStopNo && this._bus.BusStopName != busrec.BusStopName)
                            //    {
                            //        MessageBox.Show("『" + this._bus.BusStopName + "』站名或『" + this._bus.BusStopNo + "』站序重複,請重新輸入!");
                            //        repeat = true;
                            //        break;
                            //    }
                            //}
                            string new_busstopno = "";
                            if (this._bus.BusStopNo.Substring(0, 2) == thisBusStopNo.Substring(0, 2) && !repeat)
                            {
                                if (int.Parse(thisBusStopNo.Substring(2, 2)) < int.Parse(this._bus.BusStopNo.Substring(2, 2)))
                                {
                                    foreach (Data.BusStop busrec in bustmp)
                                    {
                                        if (int.Parse(busrec.BusStopNo.Substring(2, 2)) <= int.Parse(this._bus.BusStopNo.Substring(2, 2)) && int.Parse(busrec.BusStopNo.Substring(2, 2)) > int.Parse(thisBusStopNo.Substring(2, 2)) && busrec.BusStopNo != thisBusStopNo)
                                        {
                                            new_busstopno = (int.Parse(busrec.BusStopNo.Substring(2, 2)) - 1).ToString();
                                            busrec.BusStopNo = this._bus.BusNumber + (new_busstopno.Length == 2 ? new_busstopno : "0" + new_busstopno);
                                            Data.BusStopDAO.Update(busrec);
                                        }
                                    }
                                }
                                else if (int.Parse(thisBusStopNo.Substring(2, 2)) > int.Parse(this._bus.BusStopNo.Substring(2, 2)))
                                {
                                    foreach (Data.BusStop busrec in bustmp)
                                    {
                                        if (int.Parse(busrec.BusStopNo.Substring(2, 2)) >= int.Parse(this._bus.BusStopNo.Substring(2, 2)) && int.Parse(busrec.BusStopNo.Substring(2, 2)) < int.Parse(thisBusStopNo.Substring(2, 2)) && busrec.BusStopNo != thisBusStopNo)
                                        {
                                            new_busstopno = (int.Parse(busrec.BusStopNo.Substring(2, 2)) + 1).ToString();
                                            busrec.BusStopNo = this._bus.BusNumber + (new_busstopno.Length == 2 ? new_busstopno : "0" + new_busstopno);
                                            Data.BusStopDAO.Update(busrec);
                                        }
                                    }
                                }
                            }
                            else if (this._bus.BusStopNo.Substring(0, 2) != thisBusStopNo.Substring(0, 2) && !repeat)
                            {
                                List<Data.BusStop> bustmp2 = Data.BusStopDAO.SelectByBusTimeNameAndNumber(this._bus.BusTimeName, thisBusStopNo.Substring(0, 2));
                                foreach (Data.BusStop busrec in bustmp2)
                                {
                                    if (int.Parse(busrec.BusStopNo.Substring(2, 2)) > int.Parse(thisBusStopNo.Substring(2, 2)))
                                    {
                                        new_busstopno = (int.Parse(busrec.BusStopNo) - 1).ToString();
                                        busrec.BusStopNo = this._bus.BusNumber + (new_busstopno.Length == 2 ? new_busstopno : "0" + new_busstopno);
                                        Data.BusStopDAO.Update(busrec);
                                    }
                                }
                                foreach (Data.BusStop busrec in bustmp)
                                {
                                    if (int.Parse(busrec.BusStopNo.Substring(2, 2)) >= int.Parse(this._bus.BusStopNo.Substring(2, 2)))
                                    {
                                        new_busstopno = (int.Parse(busrec.BusStopNo) + 1).ToString();
                                        busrec.BusStopNo = this._bus.BusNumber + (new_busstopno.Length == 2 ? new_busstopno : "0" + new_busstopno);
                                        Data.BusStopDAO.Update(busrec);
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (this._bus.BusStopNo.Substring(0, 2) != this._bus.BusNumber)
                            {
                                MessageBox.Show(this._bus.BusNumber + "號車與站序前兩碼不同,請重新輸入!");
                                repeat = true;
                            }
                        }
                    }
                }

                if (repeat == false)
                    Data.BusStopDAO.Update(this._bus);
            }
            else
            {
                Data.BusStop bus = new Data.BusStop();
                bus.BusStopID = this.txtID.Text;
                bus.BusStopName = this.txtBusName.Text;

                if (this.txtMoney.Text == "")
                {
                    MessageBox.Show("金額不可為空,請重新輸入!");
                    repeat = true;
                }
                else if (!int.TryParse(this.txtMoney.Text, out dollars))
                {
                    MessageBox.Show("金額需為數字,請重新輸入!");
                    repeat = true;
                }
                else
                    bus.BusMoney = int.Parse(this.txtMoney.Text);
                bus.BusNumber = this.txtBusNumber.Text;
                bus.BusStopNo = this.nrBusStopNo.Value.ToString();
                if (this.nrBusStopNo.Value.ToString().Length == 2)
                    bus.BusStopNo = this.txtBusNumber.Text + this.nrBusStopNo.Value.ToString();
                else if (this.nrBusStopNo.Value.ToString().Length == 1)
                    bus.BusStopNo = this.txtBusNumber.Text + "0" + this.nrBusStopNo.Value.ToString();
                bus.BusStopAddr = this.txtBusStopAddr.Text;
                bus.BusTimeName = this._bus.BusTimeName;
                bus.BusUpAddr = this.cboUpAddr.Text;
                bus.ComeTime = this.txtCometime.Text;
                string new_busstopno = "";
                List<Data.BusStop> bustmp = Data.BusStopDAO.SelectByBusTimeNameAndNumber(this._bus.BusTimeName, this._bus.BusNumber);
                if (!repeat)
                {
                    if (bus.BusStopID == "" || bus.BusStopName == "" || bus.BusNumber == "")
                    {
                        MessageBox.Show("電腦代號、車號、站名名稱不可為空,請重新輸入!");
                        repeat = true;
                    }
                    else if (bus.BusMoney < 0)
                    {
                        MessageBox.Show("金額不可小於0,請重新輸入!");
                        repeat = true;
                    }
                    else
                    {
                        //foreach (Data.BusStop busrec in bustmp)
                        //{
                        //    if (bus.BusStopNo == busrec.BusStopNo && bus.BusStopName != busrec.BusStopName)
                        //    {
                        //        MessageBox.Show("『" + bus.BusStopName + "』站名或『" + bus.BusStopNo + "』站序重複,請重新輸入!");
                        //        repeat = true;
                        //        break;
                        //    }
                        //}
                        if (bus.BusStopNo.Substring(0, 2) != bus.BusNumber)
                        {
                            MessageBox.Show(bus.BusNumber + "號車與站序前兩碼不同,請重新輸入!");
                            repeat = true;
                        }
                        if (!repeat)
                        {
                            foreach (Data.BusStop busrec in bustmp)
                            {
                                if (int.Parse(busrec.BusStopNo.Substring(2, 2)) >= int.Parse(bus.BusStopNo.Substring(2, 2)))
                                {
                                    new_busstopno = (int.Parse(busrec.BusStopNo) + 1).ToString();
                                    busrec.BusStopNo = this.txtBusNumber.Text + (new_busstopno.Length == 2 ? new_busstopno : "0" + new_busstopno);
                                    Data.BusStopDAO.Update(busrec);
                                }
                            }
                        }
                    }
                }

                if (repeat == false)
                    Data.BusStopDAO.Insert(bus);
            }

            if (repeat == false)
                this.Close();
        }
예제 #6
0
 /// <summary>
 /// 若要修改某個站名,就會把該站名物件傳進來。
 /// </summary>
 /// <param name="bus"></param>
 public void SetBus(Data.BusStop bus)
 {
     this._bus = bus;
 }
예제 #7
0
 //依站序排序副程式
 static int CompareBusStopNo(BusStop a, BusStop b)
 {
     return a.BusStopNo.CompareTo(b.BusStopNo);
 }
예제 #8
0
 //依電腦代號排序副程式
 static int CompareBusStopID(BusStop a, BusStop b)
 {
     return a.BusStopID.CompareTo(b.BusStopID);
 }
예제 #9
0
 //依時段、車號站序排序副程式
 static int CompareBusNumber(BusStop a, BusStop b)
 {
     if (a.BusTimeName == b.BusTimeName)
     {
         if (a.BusNumber == b.BusNumber)
             return a.BusStopNo.CompareTo(b.BusStopNo);
         else
             return a.BusNumber.CompareTo(b.BusNumber);
     }
     else
         return a.BusTimeName.CompareTo(b.BusTimeName);
 }
예제 #10
0
 public static string Update(BusStop route)
 {
     List<ActiveRecord> schs = new List<ActiveRecord>();
     schs.Add(route);
     udtHelper.UpdateValues(schs);
     if (ItemChanged != null)
         ItemChanged(null, EventArgs.Empty);
     return route.UID;
 }