예제 #1
0
        //register a new library ticket with reader info, book info and start date (issue date)
        //revised
        public static void addTicket()
        {
            LibraryTicket newticket = new LibraryTicket();
            string        readerID = "", bookID = "";
            Reader        input_rd = new Reader();
            Book          input_bk = new Book();

            MyReader.inquire_all_reader();
            Console.Write("Hay nhap Ma Doc Gia tuong ung: ");

            while (input_rd.readerName == "")
            {
                readerID = Console.ReadLine();
                input_rd = Reader.inqReaderbyID(readerID);
            }
            newticket.readerID = input_rd.readerID;

            //thông tin sách
            Book.print_header();
            MyLibrary.inquire_all_book();

            Console.Write("Hay nhap Ma Sach tuong ung: ");
            while (input_bk.bookName == "")
            {
                bookID   = Console.ReadLine();
                input_bk = Book.inqBookbyID(bookID);
            }
            newticket.bookID = input_bk.bookName;
            newticket.isEN   = input_bk.bookISBN;
            newticket.status = "1";//init

            Console.Write("Nhap ngay bat dau muon (vi du: 10/22/2018): ");
            string inputtedDate = Console.ReadLine();

            while (!checkDatetime(inputtedDate))
            {
                inputtedDate = Console.ReadLine();
            }
            newticket.fromDate = DateTime.Parse(inputtedDate).ToShortDateString().ToString();
            newticket.toDate   = "";//init

            // Cấu hình thiết lập thông tin quá hạn mượn sách
            // Mỗi quyển sách được mượn tối đa 7 ngày (kể cả Thứ Bảy, Chủ Nhật):
            // Sách tiếng Việt sẽ bị phạt 10000d đồng/ngày trễ hạn
            // Sách Ngoại văn sẽ bị phạt 20000d đồng/ngày trễ hạn

            GeneralCode iniTicket = new GeneralCode(7, 10000d, 20000d);

            if (newticket.isEN == "1")
            {
                newticket.standardRate = iniTicket.StandardRateEN;
            }
            else
            {
                newticket.standardRate = iniTicket.StandardRateVN;
            }

            newticket.overDays = "0"; //init
            newticket.amount   = 0;   //init

            //lưu thông tin đồng thời vào txt file và MyTicket
            string        newrecord = $"{newticket.readerID},{newticket.bookID},{newticket.isEN},{newticket.status},{newticket.fromDate},{newticket.toDate},{newticket.overDays},{newticket.standardRate},{newticket.amount}";
            List <string> lines     = System.IO.File.ReadAllLines(@"../../myTicket.txt").ToList();

            lines.Add(newrecord);
            File.WriteAllLines(@"../../myTicket.txt", lines);
            MyTicket.mytk.Add(newticket);

            Console.WriteLine("\nTao Phieu Muon Sach thanh cong!\n");
            //in ket qua phieu muon sach
            MyTicket.inquire_a_ticket(MyTicket.mytk.Count - 1);
        }
예제 #2
0
        //need revise
        public static void returnTicket(string ticketID)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            GeneralCode iniTicket   = new GeneralCode(7, 10000d, 20000d);
            int         freedays    = iniTicket.FreeRentingDay;
            string      currentDate = DateTime.Now.ToShortDateString();

            updateLibraryTicket(currentDate, freedays.ToString());
            string        confirm      = "0"; // dùng để xác định người dùng có chấp nhận trả sách hay không
            string        filePath     = @"../../myTicket.txt";
            List <string> myTicketlist = new List <string>();

            myTicketlist = File.ReadAllLines(filePath).ToList();
            bool edit_chk = false;

            for (int i = 0; i < myTicketlist.Count; i++)
            {
                //record là mỗi bản ghi trong list , eachNode là mỗi node của một bản ghi record
                string   record   = myTicketlist[i];
                string[] eachNode = record.Split(',');
                //nếu node thứ nhất (có index 0) của record khớp với giá trị đầu vào

                //chỉ cho phép trả sách nếu người dùng nhập đúng mã phiếu mượn sách và trạng thái phiếu mượn là 1 - đang mượn
                if (eachNode[0] == ticketID && eachNode[6] == "1")
                {
                    Console.WriteLine("Thong tin Phieu Muon Sach:\n");
                    Console.WriteLine("Ten Doc Gia: {0}", eachNode[2]);
                    Console.WriteLine("Ten Sach: {0}", eachNode[4]);
                    Console.WriteLine("Ngay Muon: {0}", eachNode[7]);
                    Console.WriteLine("Ngay Tra: {0}", currentDate);
                    if (int.Parse(eachNode[9]) > 0)
                    {
                        Console.WriteLine("Phieu muon sach qua han: {0} ngay", eachNode[9]);
                        string amount = double.Parse(eachNode[11]).ToString("C0", CultureInfo.CreateSpecificCulture("vi-VN"));
                        Console.WriteLine("De tra sach, vui long thanh toan so tien {0} \n", amount);
                    }
                    Console.Write("Xac nhan hoan tat: (1) Dong y - (0) Huy bo: "); confirm = Console.ReadLine();
                    if (confirm == "1")
                    {
                        Console.WriteLine("Tra sach hoan tat");
                        eachNode[6] = "2";
                    }
                    else
                    {
                        Console.WriteLine("Huy bo tac vu");
                    }
                    //lưu kết quả lại vào myTicketlist[i]
                    myTicketlist[i] = $"{eachNode[0]},{eachNode[1]},{eachNode[2]},{eachNode[3]},{eachNode[4]},{eachNode[5]},{eachNode[6]},{eachNode[7]},{eachNode[8]},{eachNode[9]},{eachNode[10]},{eachNode[11]}";
                    edit_chk        = true;

                    break;
                }
                else
                {
                    edit_chk = false;
                }
            }

            if (edit_chk == false)
            {
                Console.WriteLine("Khong co thong tin Phieu Muon Sach tren");
                return;
            }
            else
            {
                // update lại list reader sau khi sửa
                // ghi lại vào file txt từ List<string> tên myTicketlist
                File.WriteAllLines(@"../../myTicket.txt", myTicketlist);
                // Console.WriteLine("Cập nhật danh sách phiếu mượn sách mới nhất");
                // LibraryTicket.inquireTicketlist();
            }
        }