示例#1
0
        // Cac ham trong region Them don dang ky moi, Sua don dang ky va In an
        // su dung cac ham trong region nay
        #region Xu Ly Nhap Du Lieu
        // Ham xu ly viec nhap rieng thong tin ten, phong, ngay va tiet muon
        static void XuLyNhapTenPhongNgayTietMuon(ref DonMuonPhong don)
        {
            Console.Write("Ten nguoi muon : ");
            don.tenNgMuon  = Console.ReadLine();
            don.phongMuon  = XuLyChonPhong();
            don.ngayMuon   = XuLyNhapNgayMuon();
            don.tietBDMuon = XuLyNhapTiet("bat dau", 0);
            don.tietKTMuon = XuLyNhapTiet("ket thuc", don.tietBDMuon);

            // kiem tra trung
            while (LaTrungNgayTietPhongMuon(don.ngayMuon, don.tietBDMuon, don.tietKTMuon, don.phongMuon))
            {   // hoi co muon sua lai khong ?
                Console.WriteLine("Ngay, tiet va phong muon ban chon da co nguoi dang ky roi!");
                if (XuLyCauHoiYesNo("Ban co muon sua lai ngay, tiet va phong muon khong? (Y/N) : "))
                {   // neu co thi cho sua lai
                    Console.WriteLine("Moi ban nhap lai:");
                    don.phongMuon  = XuLyChonPhong();
                    don.ngayMuon   = XuLyNhapNgayMuon();
                    don.tietBDMuon = XuLyNhapTiet("bat dau", 0);
                    don.tietKTMuon = XuLyNhapTiet("ket thuc", don.tietBDMuon);
                }
                else
                {   //neu khong thi sua lai ma = -1
                    don.ma = -1;
                    break;
                }
            }
        }
示例#2
0
        // Ham xu ly nhap thong tin cho tung khoan thu chi
        // Ham tra ra gia tri don voi ma -1 khi du lieu nhap vao bi trung
        static DonMuonPhong ThemMotDonDKMoi()
        {
            DonMuonPhong don = new DonMuonPhong(); // khoi tao

            Console.WriteLine("\nMoi ban nhap thong tin don dang ky muon phong :");
            don.ma = LayMaDonDKMoi();
            Console.WriteLine("Ma : {0}", don.ma);
            XuLyNhapTenPhongNgayTietMuon(ref don);

            return(don);
        }
示例#3
0
 // Ham xu ly in thong tin mot don muon phong
 // DonMuonPhong don : la don muon phong can in
 static void InMotDonMP(DonMuonPhong don)
 {
     Console.WriteLine("Ma : {0}", don.ma);                // in ma don
     Console.WriteLine("Nguoi muon : {0}", don.tenNgMuon); // in ten nguoi muon
     Console.WriteLine("Phong muon : {0}", don.phongMuon); // in phong muon
     Console.WriteLine("Ngay muon : {0:d2}/{1:d2}/{2:d4}",
                       don.ngayMuon.ngay,
                       don.ngayMuon.thang,
                       don.ngayMuon.nam);
     Console.WriteLine("Tiet bat dau : {0}", don.tietBDMuon);
     Console.WriteLine("Tiet ket thuc : {0}", don.tietKTMuon);
 }
示例#4
0
 // Ham tra ra vi tri thich hop de chen don dang ky moi vao danh sach
 // sao cho danh sach tao ra se duoc sap xep tang dan theo ngay thang va tiet muon
 static int LayViTriChenThichHop(DonMuonPhong don)
 {
     for (int i = 0; i < listDonMP.Count; i++)
     {
         if (LaNgayTruoc(don.ngayMuon, listDonMP[i].ngayMuon) || // neu ngay thang nho hon
             (LaTrungNgayThangNam(don.ngayMuon, listDonMP[i].ngayMuon) && // hoac neu ngay thang bang nhau
              don.tietBDMuon <= listDonMP[i].tietBDMuon))   // nhung tiet muon nho hon hoac bang
         {
             return(i);
         }
     }
     return(-1);
 }
示例#5
0
        // Ham chen mot don dang ky moi vao vi tri thich hop
        // voi danh sach tang dan theo ngay muon va tiet muon
        static void ThemDonDKVaoDS(DonMuonPhong don)
        {
            int vitri = LayViTriChenThichHop(don);

            if (vitri == -1)
            {
                listDonMP.Add(don); // add vao listDonMP
            }
            else
            {
                listDonMP.Insert(vitri, don);
            }
        }
示例#6
0
        // XU LY THEM DON DANG KY MOI
        #region Them don dang ky moi
        // Ham cho phep nhap them n don dang ky moi
        // ham nhap voi so luong nhap xac dinh truoc
        static void ThemDonDKMoi(int n)
        {
            Console.WriteLine("\nTHEM DON DANG KY MOI");

            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("{0}.", i + 1);
                DonMuonPhong don = ThemMotDonDKMoi(); // nhap cho mot don dang ky
                if (don.ma != -1)                     // neu qua trinh nhap khong bi loi
                {
                    ThemDonDKVaoDS(don);              // them don vao danh sach
                }
            }
        }
示例#7
0
        // Ham cho phep nhap vao cac don dang ky moi
        // viec nhap chi dung lai khi nguoi su dung muon
        static void ThemDonDKMoi()
        {
            Console.WriteLine("\nTHEM DON DANG KY MOI");

            do
            {
                DonMuonPhong don = ThemMotDonDKMoi(); // nhap thong tin cho mot don dang ky
                // kiem tra xem ma don co bang -1 khong ?
                // neu khong thi chen vao vi tri thich hop de tao ra danh sach tang dan
                // theo ngay thang va tiet
                if (don.ma != -1)
                {
                    ThemDonDKVaoDS(don);
                }
                // hoi nguoi su dung co muon tiep tuc khong
            } while (XuLyCauHoiYesNo("\nBan co muon nhap them don khac khong ? (Y/N) : "));
        }
示例#8
0
        // Ham co nhiem vu tach chuoi doc duoc tu file
        // gan gia tri vao bien don
        static bool TachGiaTri(string input, out DonMuonPhong don)
        {
            don = new DonMuonPhong();
            string[] items = input.Split(',');

            // phai chua 5 thanh phan
            if (items.Length != 5)
            {
                return(false);
            }

            // tach ma
            if (!int.TryParse(items[0], out don.ma))
            {
                return(false);
            }

            // xu ly ngay thang
            string[] ntn = items[1].Split('/');
            if (ntn.Length != 3 ||
                !int.TryParse(ntn[0], out don.ngayMuon.ngay) ||
                !int.TryParse(ntn[1], out don.ngayMuon.thang) ||
                !int.TryParse(ntn[2], out don.ngayMuon.nam) ||
                !LaNgayHopLe(don.ngayMuon.ngay, don.ngayMuon.thang, don.ngayMuon.nam))
            {
                return(false);
            }

            // xu ly tiet
            ntn = items[2].Split('-');
            if (ntn.Length != 2 ||
                !int.TryParse(ntn[0], out don.tietBDMuon) ||
                !int.TryParse(ntn[1], out don.tietKTMuon) ||
                don.tietBDMuon >= don.tietKTMuon || don.tietBDMuon < 0 || don.tietKTMuon > 10)
            {
                return(false);
            }

            // ten nguoi muon va phong muon
            don.tenNgMuon = items[3];
            don.phongMuon = items[4];
            return(true);
        }
示例#9
0
        // Ham cho nhap thong tin moi vao cho khoan thu chi muon sua thong tin
        static void SuaMotDonMP(int vitri)
        {
            DonMuonPhong donCu = listDonMP[vitri]; // sao chep don dang ky muon sua ra

            listDonMP.RemoveAt(vitri);             // xoa don dang ky cu

            // nhap thong tin moi vao bien donMoi
            // donCu de do du phong truong hop nhap thong tin moi bi sai, khong muon nhap tiep
            // thi khoi phuc lai thong tin cu tai vi tri cu (vitri)
            DonMuonPhong donMoi = donCu;

            XuLyNhapTenPhongNgayTietMuon(ref donMoi);

            if (donMoi.ma != -1)
            {
                ThemDonDKVaoDS(donMoi);
            }
            else // khoi phuc lai don cu
            {
                ThemDonDKVaoDS(donCu);
            }
        }