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); }
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]; }
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]; }
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(); } }
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(); }
/// <summary> /// 若要修改某個站名,就會把該站名物件傳進來。 /// </summary> /// <param name="bus"></param> public void SetBus(Data.BusStop bus) { this._bus = bus; }
//依站序排序副程式 static int CompareBusStopNo(BusStop a, BusStop b) { return a.BusStopNo.CompareTo(b.BusStopNo); }
//依電腦代號排序副程式 static int CompareBusStopID(BusStop a, BusStop b) { return a.BusStopID.CompareTo(b.BusStopID); }
//依時段、車號站序排序副程式 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); }
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; }