예제 #1
0
 public XeDap(XeDap xe)
 {
     this.maXe    = xe.maXe;
     this.loaiXe  = xe.loaiXe;
     this.hangXe  = xe.hangXe;
     this.ngayGio = xe.ngayGio;
 }
예제 #2
0
        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());
        }