public NguoiGuiXe(NguoiGuiXe x) { this.theXe = x.theXe; this.khuonMat = x.khuonMat; this.gioiTinh = x.gioiTinh; this.dangNguoi = x.dangNguoi; }
public string themXe(XeCo xe, NguoiGuiXe nguoi) { int hangXe = (int)xe.getTypeOfVehicle(); for (int i = 0; i < sucChua; i++) { if (slotXe[hangXe, i] == 0) { //Đánh dấu = 1 tại chỗ nào có xe slotXe[hangXe, i] = 1; //Tăng số lượng xe hiện đang gửi của hàng đó slXe[hangXe]++; //Gán thẻ xe đó cho người lái xe nguoi.theXe = phatTheXe(); //Mã hóa vị trí đỗ xe thành mã xe xe.maXe = (hangXe + "." + i).ToString(); //Thêm thông tin cho người và xe ThongTinXeTrongBai TTXTB; TTXTB.maXe = xe.maXe; TTXTB.anhNguoi = nguoi.anhNguoi(); TTXTB.anhXe = xe.anhXe(); TTXTB.hang = hangXe; TTXTB.cot = i; TTXeTrongBai.Add(nguoi.theXe, TTXTB); break; } } return($"Da them xe {xe.getTypeOfVehicle()} Ma the xe la: {nguoi.theXe}"); }
public int xuLyTheXe(XeCo xe, NguoiGuiXe nguoilayxe) { foreach (KeyValuePair <int, ThongTinXeTrongBai> TimKiem in this.TTXeTrongBai) { if (xe.maXe == TimKiem.Value.maXe && nguoilayxe.anhNguoi() == TimKiem.Value.anhNguoi && xe.anhXe() == TimKiem.Value.anhXe) { return(TimKiem.Key); } } return(-1); }
private bool thucHienXacNhan(int maTheXe, XeCo xe, NguoiGuiXe nguoilayxe) { string anhXeVao, anhNguoiVao, anhXeRa, anhNguoiRa; anhNguoiVao = this.TTXeTrongBai[maTheXe].anhNguoi; anhXeVao = this.TTXeTrongBai[maTheXe].anhXe; anhXeRa = xe.anhXe(); anhNguoiRa = nguoilayxe.anhNguoi(); if (anhXeVao == anhXeRa && anhNguoiVao == anhNguoiRa) { return(true); } else { return(false); } }
public string xuLyLayXe(XeCo xe, NguoiGuiXe nguoilayxe, HinhThucThanhToan hinhThucThanhToan, int tienNguoiGuiXe, tinhTienGXe cachTinhTien) { int maTheXe = nguoilayxe.theXe; DateTime thoiGianXacNhan = DateTime.Now; Scanner loaiXe = xe.getTypeOfVehicle(); int soTienCanPhaiTra = tinhTienGuiXe(cachTinhTien, tinhThoiGianGuiXe(xe.ngayGio, thoiGianXacNhan), loaiXe); if (maTheXe == -1) //Người lấy xe bị mất thẻ xe { soTienCanPhaiTra += 50000; maTheXe = xuLyTheXe(xe, nguoilayxe); } if (TTXeTrongBai.ContainsKey(maTheXe) == true) { if (thucHienXacNhan(maTheXe, xe, nguoilayxe) == true) { string anhNguoiVao = this.TTXeTrongBai[maTheXe].anhNguoi; string anhXeVao = this.TTXeTrongBai[maTheXe].anhXe; //Loại bỏ các dữ liệu về xe trong cơ sở dữ liệu xoaThongTinXe(maTheXe, (int)loaiXe); //Lưu thông tin cơ bản của xe vào Dictionary để xử lý trường hợp mất xe this.danhSachTTXeDaLay.Add(thongTinXe(maTheXe, xe.ngayGio, thoiGianXacNhan, anhXeVao, anhNguoiVao, xe.anhXe(), nguoilayxe.anhNguoi())); //Lấy tiền gửi xe if (tienNguoiGuiXe < soTienCanPhaiTra) { return($"{thanhToan(hinhThucThanhToan, tienNguoiGuiXe, soTienCanPhaiTra)}\nLay {xe.getTypeOfVehicle()} khong thanh cong\n"); } return($"{thanhToan(hinhThucThanhToan, tienNguoiGuiXe, soTienCanPhaiTra)}\nDa lay {xe.getTypeOfVehicle()} thanh cong\n"); } else { return("Thong bao: Anh khong khop"); } } else { return("The xe khong ton tai"); } }
static void Main(string[] args) { //Thực thi chương trình /*Tạo hàm quản lý bãi giữ xe*/ QuanLyBaiGiuXe quanly2 = new QuanLyBaiGiuXe(); /*Người gửi xe và xe*/ NguoiGuiXe NguyenVanA = new NguoiGuiXe("Tron", 0, "Thon"); XeDap XeDap_CuaA = new XeDap(); NguoiGuiXe NguyenVanB = new NguoiGuiXe("Gay", 0, "To"); XeMay XeMay_CuaB = new XeMay(); /*Nhân viên*/ NhanVien NV1 = new NhanVien(); /*Nhân viên mở cửa bãi xe*/ NhanVien.hanhDongNV hdong1 = new NhanVien.hanhDongNV(NhanVien.moCua); Console.WriteLine(NV1.hanhDongCuaNV(hdong1)); /*Tạo đèn tín hiệu*/ QuanLyBaiGiuXe.DenTinHieu denTinHieuXanh = new QuanLyBaiGiuXe.DenTinHieu(QuanLyBaiGiuXe.denTinHieuXanh); QuanLyBaiGiuXe.DenTinHieu denTinHieuDo = new QuanLyBaiGiuXe.DenTinHieu(QuanLyBaiGiuXe.denTinHieuDo); /*In ra tổng tiền hiện đang có*/ Console.WriteLine(quanly2.statusSoTienHienDangCo()); /*Mở thanh chắn*/ Console.WriteLine(quanly2.thanhChanBarrier(denTinHieuXanh)); /*Gửi xe vào bãi*/ Console.WriteLine(quanly2.themXe(XeDap_CuaA, NguyenVanA)); Console.WriteLine(quanly2.themXe(XeMay_CuaB, NguyenVanB)); /*Đóng thanh chắn*/ Console.WriteLine(quanly2.thanhChanBarrier(denTinHieuDo)); /*In thông tin đã chụp lại của XeDap_CuaA đã gửi vào bãi*/ Console.WriteLine(XeDap_CuaA.anhXe() + "\n" + NguyenVanA.anhNguoi()); /*In thông tin đã chụp lại của XeMay_CuaB và NguyenVanB đã gửi vào bãi*/ Console.WriteLine(XeMay_CuaB.anhXe() + "\n" + NguyenVanB.anhNguoi()); /*In ra thông tin bãi xe*/ Console.WriteLine("\n" + quanly2.statusBaiXe()); /*Chọn cách tính tiền*/ QuanLyBaiGiuXe.tinhTienGXe cachTinhTien = new QuanLyBaiGiuXe.tinhTienGXe(QuanLyBaiGiuXe.tinhTienTheoGio); /*Chọn cách thanh toán*/ QuanLyBaiGiuXe.HinhThucThanhToan hinhThucThanhToan = new QuanLyBaiGiuXe.HinhThucThanhToan(QuanLyBaiGiuXe.tienMat); /*Lấy xe ra*/ /*Nhập thẻ xe*/ Console.Write($"Nhap the xe: "); NguyenVanA.theXe = int.Parse(Console.ReadLine()); /*Nhập số tiền cần trả*/ Console.Write($"Nhap so tien can tra: "); /*Xử lý lấy xe*/ int tien1 = int.Parse(Console.ReadLine()); Console.WriteLine(quanly2.xuLyLayXe(XeDap_CuaA, NguyenVanA, hinhThucThanhToan, tien1, cachTinhTien)); /*Nhập thẻ xe*/ Console.Write($"Nhap the xe: "); NguyenVanB.theXe = int.Parse(Console.ReadLine()); /*Nhập số tiền cần trả*/ Console.Write($"Nhap so tien can tra: "); int tien2 = int.Parse(Console.ReadLine()); /*Xử lý lấy xe*/ Console.WriteLine(quanly2.xuLyLayXe(XeMay_CuaB, NguyenVanB, hinhThucThanhToan, tien2, cachTinhTien)); /*Mở thanh chắn*/ Console.WriteLine(quanly2.thanhChanBarrier(denTinHieuXanh)); /*Đóng thanh chắn*/ Console.WriteLine(quanly2.thanhChanBarrier(denTinHieuDo)); /*In ra tổng tiền hiện đang có sau khi thanh toán*/ Console.WriteLine(quanly2.statusSoTienHienDangCo()); /*In lại thông tin của bãi xe đạp*/ QuanLyBaiGiuXe.delegateStatusLoaiXe sttxe1 = new QuanLyBaiGiuXe.delegateStatusLoaiXe(quanly2.statusXeDap); Console.WriteLine(quanly2.statusLoaiXe(sttxe1)); /*In lại thông tin của bãi xe máy*/ QuanLyBaiGiuXe.delegateStatusLoaiXe sttxe2 = new QuanLyBaiGiuXe.delegateStatusLoaiXe(quanly2.statusXeMay); Console.WriteLine(quanly2.statusLoaiXe(sttxe2)); /*Nhân viên đóng cửa bãi xe*/ NhanVien.hanhDongNV hdong2 = new NhanVien.hanhDongNV(NhanVien.dongCua); Console.WriteLine(NV1.hanhDongCuaNV(hdong2)); /*Event sửa chữa và bảo trì bãi xe*/ quanly2.eventSCvaBT += Quanly2_eventSCvaBT; Console.WriteLine((string)quanly2.thucThiSCBT()); /*Event update phần mềm của chương trình quản lý*/ quanly2.eventUpdateDriver += Quanly2_eventUpdateDriver; Console.WriteLine((string)quanly2.thucThiUpdate()); /*Event mở rộng bãi giữ xe*/ quanly2.eventMoRong += Quanly2_eventMoRongBaiGiuXe; Console.WriteLine((string)quanly2.thucThiMoRongBaiGiuXe()); }