private bool CheckDaTa(string MaXe, string MaTheGui, string mavitri) { bool check = true; // kiểm tra phải nhập đủ thông tin if (txtBienSo.Text.Trim().Length == 0 || txtMaXe.Text.Trim().Length == 0 || txtMauSac.Text.Trim().Length == 0 || cboLoaiXe.SelectedIndex == -1 || cboTheGui.SelectedIndex == -1) { MessageBox.Show("Vui lòng điền đủ thông tin!!"); return(false); } blDoXe = new BLDoXe(); check = blDoXe.CheckType(MaXe, MaTheGui, mavitri); return(check); }
private void fillData(DataRow dataRow) { txtBienSo.Text = dataRow["BienSo"].ToString().Trim(); txtMaXe.Text = dataRow["MaXe"].ToString().Trim(); txtTenXe.Text = dataRow["TenXe"].ToString().Trim(); txtMauSac.Text = dataRow["MauSac"].ToString().Trim(); txtGioVao.ResetText(); DataRow rowVehicle = dataTableVehicles.AsEnumerable().FirstOrDefault(c => c.Field <string>("MaXe").Trim() == txtMaXe.Text.Trim()); if (rowVehicle != null && rowVehicle["DangKyThang"].ToString().Trim() != "False") // nếu xe này có đăng ký tháng { blDoXe = new BLDoXe(); DataRow getMonthStickID = blDoXe.GetMonthStickIDByVehicleID(txtMaXe.Text).Tables[0].Rows[0]; cboTheGui.Items.Add(getMonthStickID["MaTheGuiXe"].ToString().Trim()); cboTheGui.SelectedItem = getMonthStickID["MaTheGuiXe"].ToString().Trim(); } cboLoaiXe.SelectedItem = dataRow["TenLoaiXe"].ToString().Trim(); }
private void DoXe_Load(object sender, EventArgs e) { lbTongSoThe.Text = CountSumTicket().ToString(); lbTongViTri.Text = CountSumPosition().ToString(); BLDoXe blDoXe = new BLDoXe(); dataTableVehicleType = blDoXe.GetVehicleType().Tables[0]; timerThoiGianThuc.Enabled = true; cboLoaiXe.Items.Clear(); foreach (DataRow row in dataTableVehicleType.Rows) { cboLoaiXe.Items.Add(row["TenLoaiXe"].ToString()); } LoadData(); dgvQLDX.Columns["DangKyThang"].ReadOnly = true; }
private void LoadData() { foreach (Control ctr in pnlQuanLyDoXe.Controls) { if (ctr is TextBox || ctr is ComboBox) { ctr.Enabled = true; } } //lbT UpdateVehicle(); UpdatePositionAvailable(); UpdateTicketAvailable(); try { btnReload.Enabled = true; dgvQLDX.Enabled = true; dataTableDoXe = new DataTable(); dataTableDoXe.Clear(); BLDoXe blDoXe = new BLDoXe(); DataSet ds = blDoXe.LoadData(); dataTableDoXe = ds.Tables[0]; // Đưa dữ liệu lên DataGridView dgvQLDX.DataSource = dataTableDoXe; // Thay đổi độ rộng cột dgvQLDX.AutoResizeColumns(); // Xóa trống các đối tượng trong Panel //ResetValue(); btnVaoBen.Enabled = true; btnXuatBen.Enabled = true; btnHuy.Enabled = false; btnLuu.Enabled = false; pnlQuanLyDoXe.Enabled = false; dgvQLDX_CellClick(null, null); } catch { MessageBox.Show("Không lấy được nội dung trong table Xe. Lỗi rồi!!!"); } }
private void btnXacNhan_Click(object sender, EventArgs e) { DateTime stardate = Convert.ToDateTime(lbThoiGianVao.Text); DateTime enddate = Convert.ToDateTime(lbThoiGianRa.Text); blDoXe = new BLDoXe(); float tienthu = float.Parse(SHAREVAR.sharevarVeTienThu.Trim()); bool result = blDoXe.CheckOutAndFree(SHAREVAR.sharevarMaXe.Trim(), stardate, enddate, SHAREVAR.sharevarMaNV, SHAREVAR.sharevarVeThang, tienthu, ref err); if (result) { MessageBox.Show("Tính tiền thành công, mời xe ra."); } else { MessageBox.Show("Tính tiền gặp lỗi, vui lòng thử lại !."); } this.Close(); }
private void UpdatePositionAvailable() { cboViTri.ResetText(); cboViTri.Items.Clear(); BLDoXe blDoXe = new BLDoXe(); dataTablePositionAvailable = blDoXe.GetPosition().Tables[0]; if (dataTablePositionAvailable.Rows.Count == 0) { MessageBox.Show("Thông báo hết chỗ để xe!"); lbSLViTriCon.Text = "Hết chỗ!"; } else { lbSLViTriCon.Text = dataTablePositionAvailable.Rows.Count.ToString(); } foreach (DataRow row in dataTablePositionAvailable.Rows) { cboViTri.Items.Add(row["MaViTri"].ToString()); } }
private void UpdateTicketAvailable() { cboTheGui.Items.Clear(); cboTheGui.ResetText(); BLDoXe blDoXe = new BLDoXe(); dataTableTicketAvailable = blDoXe.GetTicketID().Tables[0]; if (dataTableTicketAvailable.Rows.Count == 0) { MessageBox.Show("Thông báo hết thẻ gửi xe!"); lbSLTheXeCon.Text = "Hết thẻ!!!"; } else { lbSLTheXeCon.Text = dataTableTicketAvailable.Rows.Count.ToString(); } foreach (DataRow row in dataTableTicketAvailable.Rows) { cboTheGui.Items.Add(row["MaTheGuiXe"].ToString()); } }
private void LoadData() { //Đếm số lượng Nhân viên lbSoLuongNhanVien.Text = blNhanVien.CountNhanVien().Tables[0].Rows[0][0].ToString(); //Đếm số lượng khách hàng lbSoLuongKhachHang.Text = blKhachHang.CountKhachHang().Tables[0].Rows[0][0].ToString(); //Đếm số lượng vị trí đỗ xe lbSoViTriDo.Text = blViTri.CountVitrido().Tables[0].Rows[0][0].ToString(); //Đếm số lượng xe lbSoXeDangGui.Text = blXe.CountXe().Tables[0].Rows[0][0].ToString(); BLDoXe blDoXe = new BLDoXe(); dataTablePositionAvailable = blDoXe.GetPosition().Tables[0]; if (dataTablePositionAvailable.Rows.Count == 0) { lbSoViTriDo.Text = "Hết chỗ!"; } else { lbSoViTriDo.Text = dataTablePositionAvailable.Rows.Count.ToString(); } }
// tham khảo từ https://stackoverflow.com/questions/894461/how-can-i-convert-int-90-minutes-to-datetime-130 private string CountTimeInParking() { blDoXe = new BLDoXe(); DateTime stardate = Convert.ToDateTime(txtGioVao.Text.Trim()); DataRow rowTime = blDoXe.CountTimeInParkingAtMinute(stardate, DateTime.Now).Tables[0].Rows[0]; double minute = 0; if (rowTime != null) { try { minute = Convert.ToDouble(rowTime["Time"].ToString()); } catch { } } TimeSpan time = TimeSpan.FromMinutes(minute); string FomatShowTime = time.Days + " Ngày " + time.Hours + " Giờ " + time.Minutes + " Phút "; return(FomatShowTime); }
private void btnXeCoVeThang_Click(object sender, EventArgs e) { if (pnlQuanLyDoXe.Enabled == false) { MessageBox.Show("Vui lòng chọn chức năng Vào bến trước !"); return; } if (txtVethang.Text.ToString().Trim().Length == 0) { MessageBox.Show("Vui lòng nhập mã vé tháng!"); return; } blDoXe = new BLDoXe(); DataTable seachVevicleInTicket = blDoXe.SearchMonthTicket(txtVethang.Text.Trim()).Tables[0]; if (seachVevicleInTicket.Rows.Count == 0) { MessageBox.Show("Mã thẻ gửi xe không có trong danh sách đăng ký vé tháng!!!"); return; } if (!seachVevicleInTicket.Rows[0]["GioVao"].ToString().Trim().Equals("")) { MessageBox.Show("Xe đã có trong bãi, vui lòng kiểm tra lại!!!"); } else { fillData(seachVevicleInTicket.Rows[0]); foreach (Control ctr in pnlQuanLyDoXe.Controls) { if (ctr is TextBox || ctr is ComboBox) { ctr.Enabled = false; } } cboViTri.Enabled = true; } }
private void UpdateVehicle() { blDoXe = new BLDoXe(); dataTableVehicles = blDoXe.GetVihicles().Tables[0]; }
private void btnLuu_Click(object sender, EventArgs e) { if (KiemTraKyTuToiDa() == false) { return; } if (cboTheGui.SelectedIndex == -1) { MaTheGui = ""; } else { MaTheGui = cboTheGui.SelectedItem.ToString(); } if (cboViTri.SelectedIndex == -1) { MaViTri = ""; } else { MaViTri = cboViTri.SelectedItem.ToString(); } if (CheckDaTa(txtMaXe.Text, MaTheGui, MaViTri) == false) { return; } // kiểm tra Trùng Tên blDoXe = new BLDoXe(); maloaixe = dataTableVehicleType.Rows[cboLoaiXe.SelectedIndex]["MaLoaiXe"].ToString(); DataRow rowInfo = dataTableVehicles.AsEnumerable().FirstOrDefault(c => c.Field <string>("BienSo").Trim() == txtBienSo.Text.Trim()); if (rowInfo != null) // xe này đã từng có thông tin rồi (đã từng vào bãi rồi, vẫn còn lưu lại thông tin --> cập nhật) { string matheguixe = ""; // kiểm tra xe có biển số này có đk vé tháng không if (rowInfo["DangKyThang"].ToString().Trim() != "False" && rowInfo["MaXe"].ToString().Trim() == txtMaXe.Text.Trim()) { DataTable tablegetMonthStickID = blDoXe.GetMonthStickIDByVehicleID(txtMaXe.Text).Tables[0]; if (tablegetMonthStickID.Rows.Count == 0) { MessageBox.Show("Vui lòng kiểm tra lại thẻ đăng ký cho khách hàng!"); } else { matheguixe = tablegetMonthStickID.Rows[0]["MaTheGuiXe"].ToString().Trim(); } } if (rowInfo["MaXe"].ToString().Trim() != txtMaXe.Text.Trim() || rowInfo["TenLoaiXe"].ToString().Trim() != cboLoaiXe.Text.Trim()) // nếu mã xe của xe có biển số này bị sửa đổi { // Khai báo biến traloi DialogResult traloi; // Hiện hộp thoại hỏi đáp traloi = MessageBox.Show("Mã xe hoặc loại xe không trùng với biển số đã lưu khi trước, bạn muốn phục hồi lại mã xe và loại xe không?", "Trả lời", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); // Kiểm tra có nhắp chọn nút Ok không? if (traloi == DialogResult.OK) { txtMaXe.Text = rowInfo["MaXe"].ToString().Trim(); cboLoaiXe.SelectedItem = rowInfo["TenLoaiXe"].ToString().Trim(); cboTheGui.ResetText(); cboTheGui.SelectedItem = matheguixe; return; } } else { DataRow rowVehicleInParking = dataTableDoXe.AsEnumerable().FirstOrDefault(c => c.Field <string>("MaXe").Trim() == txtMaXe.Text.Trim()); if (rowVehicleInParking != null) // kiểm tra xe đã có xong bãi chưa, != null là xe này hiện đang ở trong bãi rồi { MessageBox.Show("Xe đã ở trong bãi từ trước, vui lòng kiểm tra lại!"); return; } blDoXe = new BLDoXe(); if (blDoXe.UpdateVehicle(txtBienSo.Text, txtMaXe.Text, txtTenXe.Text, txtMauSac.Text, DateTime.Now, maloaixe, cboTheGui.SelectedItem.ToString(), cboViTri.SelectedItem.ToString(), ref err)) { MessageBox.Show("Thêm xe vào bãi thành công"); LoadData(); } else { MessageBox.Show("Có lỗi xảy ra, chưa thêm được!!"); } } } else { // "Mã xe bị trùng, vui lòng nhập mã xe khác!!!" if (blDoXe.VehicleGoIn(txtBienSo.Text, txtMaXe.Text, txtTenXe.Text, txtMauSac.Text, DateTime.Now, maloaixe, cboTheGui.SelectedItem.ToString(), cboViTri.SelectedItem.ToString(), ref err) == true) { MessageBox.Show("Thêm xe vào bãi thành công"); txtGioVao.Enabled = true; LoadData(); } else { MessageBox.Show("Có lỗi xảy ra, chưa thêm được!!"); } } }
private void AddVarForShareVar() { SHAREVAR.sharevarMaXe = txtMaXe.Text.Trim(); SHAREVAR.sharevarBienSo = txtBienSo.Text.Trim(); SHAREVAR.sharevarLoaiXe = cboLoaiXe.Text.Trim(); SHAREVAR.sharevarTenXe = txtTenXe.Text.Trim(); SHAREVAR.sharevarMauXe = txtMauSac.Text.Trim(); SHAREVAR.sharevarTGVao = txtGioVao.Text.Trim(); SHAREVAR.sharevarTGRa = DateTime.Now.ToString().Trim(); SHAREVAR.sharevarThoiLuongGui = CountTimeInParking(); blDoXe = new BLDoXe(); DataRow rowVehicleType = dataTableVehicleType.AsEnumerable().FirstOrDefault(c => c.Field <string>("TenLoaiXe").Trim() == cboLoaiXe.Text.Trim()); string maloaixe = rowVehicleType["MaLoaiXe"].ToString(); DateTime stardate = Convert.ToDateTime(txtGioVao.Text.Trim()); DataRow rowMonthTicket = dataTableDoXe.AsEnumerable().FirstOrDefault(c => c.Field <string>("MaXe").Trim() == txtMaXe.Text.Trim()); if (rowMonthTicket["DangKyThang"].ToString().Trim() == "False") // khi vé này không phải là vé tháng { SHAREVAR.sharevarVeThang = false; } else { SHAREVAR.sharevarVeThang = true; } if (SHAREVAR.sharevarVeThang) { SHAREVAR.sharevarVeThanhToan = "Thanh Toán vé tháng"; SHAREVAR.sharevarVeTienThu = "0"; } else { TimeSpan Time = DateTime.Now - stardate; int TongSoNgay = Time.Days; if (TongSoNgay < 1) // chưa gửi qua ngày { DataTable tableTicketFee = blDoXe.HourlParkingFee(maloaixe, stardate, DateTime.Now).Tables[0]; if (tableTicketFee.Rows.Count == 0) { MessageBox.Show("Không tìm thấy giá vé như quy định, vui lòng kiểm tra lại bên quy định!"); return; } SHAREVAR.sharevarVeThanhToan = tableTicketFee.Rows[0]["TenGiaVe"].ToString().Trim(); SHAREVAR.sharevarVeTienThu = tableTicketFee.Rows[0]["GiaTien"].ToString().Trim(); } else { DataTable tableTicketFee = blDoXe.HourlParkingFee(maloaixe, stardate, DateTime.Now.AddDays(-TongSoNgay)).Tables[0]; if (tableTicketFee.Rows.Count == 0) { MessageBox.Show("Không tìm thấy giá vé như quy định, vui lòng kiểm tra lại bên quy định!"); return; } blDoXe = new BLDoXe(); // lấy giá qua ngày DataTable dataTableFeeOverDay = blDoXe.GetFeeOverDay(maloaixe).Tables[0]; if (dataTableFeeOverDay.Rows.Count == 0) { MessageBox.Show("Không tìm thấy giá vé như quy định, vui lòng kiểm tra lại bên quy định!"); return; } float FeeOverDay = float.Parse(dataTableFeeOverDay.Rows[0]["GiaTien"].ToString().Trim()); float FeeNewDay = float.Parse(tableTicketFee.Rows[0]["GiaTien"].ToString().Trim()); float ToTalFee = (FeeOverDay * TongSoNgay) + FeeNewDay; SHAREVAR.sharevarVeThanhToan = tableTicketFee.Rows[0]["TenGiaVe"].ToString().Trim() + " (Qua ngày)"; SHAREVAR.sharevarVeTienThu = ToTalFee.ToString().Trim(); } } }