public void UpdateDienThoai()
        {
            Console.InputEncoding  = UnicodeEncoding.Unicode;
            Console.OutputEncoding = UnicodeEncoding.Unicode;
            string madt;
            string tt;

            Console.Clear();
tt:
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("nhập tên điện thoại bạn muốn cập nhật:");
            madt = Console.ReadLine().Trim();
            ReadFile("dienthoai.txt");
            DienThoai dt = TimKiemTen(madt);

            if (dt == null)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("tên điện thoại ban vừa nhập không tồn tại,bấm phím bất kỳ để nhập lại:");
                Console.ReadKey();
                goto tt;
            }
            else
            {
                dt.update();
                WriteFile("dienthoai.txt");
            }
        }
        public void Nhap()
        {
            Console.InputEncoding  = UnicodeEncoding.Unicode;
            Console.OutputEncoding = UnicodeEncoding.Unicode;

            int       Tiep;
            DienThoai dt;
            string    tt, t;

tt:
            {
                Console.Clear();
                dt = new DienThoai();
                dt.nhap();
                Them(dt);
            }

            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.WriteLine("thêm điện thoại thành công");
            Console.WriteLine("ban có muốn nhập thêm không?");
            Console.Write("1:co/0:khong: ");

t:
            Tiep = int.Parse(Console.ReadLine());
            if (Tiep == 1)
            {
                goto tt;
            }
            else if (Tiep != 0)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("lựa chọn không đúng, vui lòng chọn lại: ");
                goto t;
            }
        }
        public void writefile(string filename, DienThoai dt)
        {
            StreamWriter sw = new StreamWriter(filename, true);

            sw.WriteLine(dt.tostring());

            sw.Close();
        }
 public void Them(DienThoai dt)
 {
     Console.InputEncoding  = UnicodeEncoding.Unicode;
     Console.OutputEncoding = UnicodeEncoding.Unicode;
     ReadFile("dienthoai.txt");
     if (TimKiemTheoMa(dt.Madt.Trim()) != null)
     {
         Console.ForegroundColor = ConsoleColor.Red;
         Console.WriteLine("thêm thất bại, loại điện thoại cần thêm đã tồn tại trong hệ thống");
     }
     else
     {
         dienthoai.Add(dt);
         writefile("dienthoai.txt", dt);
     }
 }
        public void ReadFile(string filename)
        {
            dienthoai = new List <DienThoai>();
            StreamReader sr = new StreamReader(filename);
            String       tmp;
            DienThoai    dt;

            while (sr.EndOfStream == false)
            {
                tmp = sr.ReadLine().Trim();
                if (tmp == "")
                {
                    continue;
                }
                dt = new DienThoai(tmp);
                dienthoai.Add(dt);
            }
            sr.Close();
        }
 public DienThoai(DienThoai dt)
 {
     this.madt       = dt.madt;
     this.tendt      = dt.tendt;
     this.manhinh    = dt.manhinh;
     this.hedieuhanh = dt.hedieuhanh;
     this.RAM        = dt.RAM;
     this.bonho      = dt.bonho;
     this.pin        = dt.pin;
     this.camera     = dt.camera;
     this.soluong    = dt.soluong;
     this.gianhap    = dt.gianhap;
     this.giaban     = dt.giaban;
     this.sl         = dt.sl;
     this.gn         = dt.gn;
     this.gb         = dt.gb;
     this.sl         = this.soluong.ToString();
     this.gn         = this.gianhap.ToString();
     this.gb         = this.giaban.ToString();
 }
        public void update()
        {
            Console.InputEncoding  = UnicodeEncoding.Unicode;
            Console.OutputEncoding = UnicodeEncoding.Unicode;
            ConsoleKeyInfo kt;

chon:
            {
                Console.WriteLine("F1: cập nhật mã hóa đơn");
                Console.WriteLine("F2: cập nhật ngày lập");
                Console.WriteLine("F3: cập nhật thông tin khách hàng");
                Console.WriteLine("F4: cập nhật thông tin điện thoại khách hàng mua");
                Console.WriteLine("F5: cập nhật tên người lập hóa đơn");
                Console.WriteLine("F6: thoát");
                Console.Write("Mời bạn chọn chức năng");
                kt = Console.ReadKey();
                Console.WriteLine();
            }
            switch (kt.Key)
            {
            case ConsoleKey.F1:
            {
                do
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("nhập mã hóa đơn: ");
                    mahoadon = Console.ReadLine().Trim();
                } while (mahoadon == "");
                Console.WriteLine("thông tin đã được cập nhật"); break;
            }

            case ConsoleKey.F2:
            {
                do
                {
                    Console.Write("nhập ngày lập:");
                    a[0] = int.Parse(Console.ReadLine());
                } while (a[0] < 0 && a[0] > 31);
                do
                {
                    Console.Write("nhập tháng lập:");
                    a[1] = int.Parse(Console.ReadLine());
                } while (a[0] < 0 && a[0] > 12);
                do
                {
                    Console.Write("nhập năm lập:");
                    a[2] = int.Parse(Console.ReadLine());
                } while (a[0] < 0 && a[0] > 2018);
                ngaylap = new DateTime(a[2], a[1], a[0]);
                Console.WriteLine("thông tin đã được cập nhật"); break;
            }

            case ConsoleKey.F3:
            {
                kh.update();
                break;
            }

            case ConsoleKey.F4:
            {
                ConsoleKeyInfo ktt;
ttt:
                {
                    Console.WriteLine("F1:cập nhật tên điện thoại.");
                    Console.WriteLine("F2:cập nhật số lượng mua.");
                    Console.WriteLine("F3:cập nhật giá bán.");
                    Console.WriteLine("F4:thoát.");
                    Console.Write("Mời bạn chọn chức năng");
                    ktt = Console.ReadKey();
                }
                switch (ktt.Key)
                {
                case ConsoleKey.F1:
                {
                    dt1 = dt.TimKiemTen(tdt);


                    do
                    {
tt:
                        {
                            Console.Write("nhập tên điện thoại khách hàng đặt: ");
                            tdt = Console.ReadLine().Trim();
                        }
                        dt.ReadFile("dienthoai.txt");
                        dt1 = dt.TimKiemTen(tdt);

                        if (dt1 == null)
                        {
                            Console.WriteLine("điện thoại vừa nhập không tồn tại trong kho.");
                            Console.Write("nhấn phím bất kỳ để nhập lại");
                            Console.ReadKey();
                            Console.WriteLine();
                            goto tt;
                        }
                    } while (tdt == "");
                    Console.WriteLine("thông tin đã được cập nhật"); break;
                }

                case ConsoleKey.F2:
                {
                    dt.WriteFile("dienthoai.txt");
                    bool hl = true;
                    do
                    {
                        try
                        {
                            Console.Write("nhập số lượng mua:");
                            soluong = int.Parse(Console.ReadLine());
                        }
                        catch (Exception ex)
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("bạn vừa nhập giá trị không hợp lệ");
                            hl = false;
                        } while (hl == false)
                        {
                            ;
                        }
                    } while (soluong < 0);

                    dt.WriteFile("dienthoai.txt");
                    Console.WriteLine("thông tin đã được cập nhật"); break;
                }

                case ConsoleKey.F3:
                {
                    do
                    {
                        Console.WriteLine("nhập giá bán:");
                        dongia = double.Parse(Console.ReadLine());
                    } while (dongia <= 0);
                    break;
                }

                case ConsoleKey.F4: break;

                default:
                    Console.WriteLine("chức năng bạn chọn không hợp lệ, vui lòng chọn lại."); Console.ReadKey();
                    Console.Clear(); goto ttt;
                }
                break;
            }

            case ConsoleKey.F5:
            {
                do
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("người lập hóa đơn:");
                    nguoilap = Console.ReadLine().Trim();
                } while (nguoilap == "");
                Console.WriteLine("thông tin đã được cập nhật"); break;
            }

            case ConsoleKey.F6: break;

            default: Console.WriteLine("chức năng bạn chọn không hợp lệ, vui lòng chọn lại."); Console.ReadKey(); Console.Clear(); goto chon;
            }
        }
        public void nhap()
        {
            Console.InputEncoding  = UnicodeEncoding.Unicode;
            Console.OutputEncoding = UnicodeEncoding.Unicode;
            do
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("nhập mã hóa đơn: ");
                mahoadon = Console.ReadLine().Trim();
            } while (mahoadon == "");
            kh.nhap();
            ngaylap = DateTime.Now;
            ngay    = ngaylap.ToString();
            dt1     = dt.TimKiemTen(tdt);


            do
            {
tt:
                {
                    Console.Write("nhập tên điện thoại khách đặt:");
                    tdt = Console.ReadLine().Trim();
                }
                dt.ReadFile("dienthoai.txt");
                dt1 = dt.TimKiemTen(tdt);
                if (dt1 == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("điện thoại vừa nhập không tồn tại trong kho.");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("nhấn phím bất kỳ để nhập lại");
                    Console.ReadKey();
                    Console.WriteLine();
                    goto tt;
                }
            } while (tdt == "");
            {
                bool hl = true;
                do
                {
                    try
                    {
dia:
                        {
                            Console.ForegroundColor = ConsoleColor.Green;
                            Console.Write("nhập số lượng mua:");
                            soluong = int.Parse(Console.ReadLine());
                        }
                        if (soluong > dt1.Soluong)
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("số lượng trong kho không đủ,bấm phím bất kỳ để nhập lại");
                            Console.ReadKey();
                            goto dia;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("bạn vừa nhập giá trị không hợp lệ");
                        hl = false;
                    } while (hl == false)
                    {
                        ;
                    }
                } while (soluong <= 0);
            }
            bool hl2 = true;

            try
            {
                do
                {
                    Console.WriteLine("nhap gia ban:");
                    dongia = double.Parse(Console.ReadLine());
                } while (dongia <= 0);
            }catch (Exception)
            {
                hl2 = false;
                Console.WriteLine("gia tri khong hop le");
            } while (hl2 == false)
            {
                ;
            }

            do
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("người lập hóa đơn:");
                nguoilap = Console.ReadLine().Trim();
            } while (nguoilap == "");
        }