Beispiel #1
0
        // Ham xu ly sua thong tin cac giao dich
        static void SuaThongTinGD()
        {
            // neu danh sach rong thi bo qua
            if (listGD.LaRong)
            {
                Console.WriteLine("Co so du lieu khong co giao dich nao de sua thong tin.");
                return;
            }

            int ma;

            Console.WriteLine("\nBan muon sua thong tin cho giao dich nao ?");
            do
            {
                ma = XulyNhapMaGD("muon sua");
                GiaoDich gd = listGD.LayGDVoiMa(ma);

                if (gd == null) // neu khong co
                {
                    Console.WriteLine("Giao dich ban nhap khong co trong du lieu.");
                }
                else // nguoc lai
                {
                    Console.WriteLine("Giao dich voi ma {0} co thong tin nhu sau :", gd.Ma);
                    Console.WriteLine(gd); // in lai thong tin hien tai cua giao dich muon sua

                    Console.WriteLine("\nMoi ban nhap thong tin moi cho giao dich tren.");
                    GiaoDich gdMoi = ThemMotGDMoi(ma); // thuc hien nhap thong tin moi cho giao dich
                    listGD.XoaGD(gd);                  // xoa giao dich cu
                    listGD.ThemGD(gdMoi);              // them giao dich moi
                }
            } while (XuLyCauHoiYesNo("\nBan co tiep tuc sua thong tin giao dich khac? (Y/N):"));
        }
Beispiel #2
0
 // Xoa giao dich
 public void XoaGD(GiaoDich gd)
 {
     foreach (GiaoDichTheoThang gdThang in listThang)
     {
         if (gdThang.CoGD(gd))
         {
             gdThang.XoaGD(gd);
         }
     }
 }
Beispiel #3
0
        // Cai dat giao dien IComparable
        // de dung trong ham Sort cua cac Colection
        // vi du: khi them mot giao dich thi sap xep danh sach giao dich theo ngay giao dich
        public int CompareTo(object o)
        {
            GiaoDich temp = o as GiaoDich;

            if (temp != null)
            {
                // sap xep theo ngay giao dich
                return(this.NgayGD.CompareTo(temp.NgayGD));
            }
            throw new ArgumentException("not a GiaoDich");
        }
Beispiel #4
0
        // CAU TU
        public GiaoDichTheoThang(GiaoDich gd)
        {
            // Mot doi tuong moi cua Giao dich theo thang duoc tao ra
            // khi co mot giao dich moi ma giao dich do co thang khong trung voi
            // cac giao dich theo thang da co
            ThoiGian ngay = gd.NgayGD;

            this.thangnam = new ThoiGian(1, ngay.Thang, ngay.Nam);
            listGD        = new List <GiaoDich>();
            listGD.Add(gd); // add giao dich moi do vao
        }
Beispiel #5
0
        // Ham tra ra Giao dich voi ma nao do
        public GiaoDich LayGDVoiMa(int ma)
        {
            GiaoDich gd = null;

            foreach (GiaoDichTheoThang gdThang in listThang)
            {
                gd = gdThang.LayGDVoiMa(ma);
                if (gd != null)
                {
                    break;
                }
            }
            return(gd);
        }
Beispiel #6
0
        // Ham xu ly nhap thong tin cho tung giao dich
        // dung duoc cho ca xu ly sua thong tin giao dich
        // ma : = -1 - nhap mot giao dich moi
        //      != -1 - sua thong tin giao dich da co
        static GiaoDich ThemMotGDMoi(int ma)
        {
            if (ma == -1)
            {
                ma = listGD.MaChoGiaoDichMoi; // lay ma giao dich tiep theo
            }
            Console.WriteLine("Ma : {0}", ma);

            GiaoDich.KieuGiaoDich kGD = XulyNhapKieuGD(); // nhap kieu giao dich

            Console.Write("Chon tai khoan phat sinh giao dich - ");
            TaiKhoan tk = XulyChonTaiKhoan(); // chon tai khoan phat sinh giao dich

            TaiKhoan tkNhan = null;           // neu la chuyen khoan thi co tai khoan nhan

            if (kGD == GiaoDich.KieuGiaoDich.ChuyenKhoan)
            {
                Console.Write("Chon tai khoan nhan - ");
                tkNhan = XulyChonTaiKhoan(); // chon tai khoan nhan
                // cho nay chua xu ly truong hop tkChuyen va tkNhan trung nhau
            }

            ThoiGian ngaygd = XulyNhapNgayThangNam("Ngay thang"); // nhap ngay giao dich
            double   sotien = XulyNhapTien("So tien : ");         // nhap so tien giao dich

            GiaoDich.LoaiGiaoDich lGD = XulyNhapLoaiGD();         // nhap loai giao dich
            Console.Write("Ghi chu : ");
            string ghichu = Console.ReadLine();                   // nhap ghi chu

            GiaoDich gd = null;

            switch (kGD)                    // tao doi tuong phu thuoc vao kieu giao dich
            {
            case GiaoDich.KieuGiaoDich.Thu: // tao doi tuong thu
                gd = new Thu(ma, ngaygd, sotien, tk, lGD, ghichu);
                break;

            case GiaoDich.KieuGiaoDich.Chi:     // tao doi tuong chi
                gd = new Chi(ma, ngaygd, sotien, tk, lGD, ghichu);
                break;

            case GiaoDich.KieuGiaoDich.ChuyenKhoan:     // tao doi tuong chuyen khoan
                gd = new ChuyenKhoan(ma, ngaygd, sotien, tk, tkNhan, lGD, ghichu);
                break;
            }

            return(gd);
        }
Beispiel #7
0
        // Ham xu ly in ket qua thong ke theo phan loai va thoi gian
        static void InKQTKTheoPhanLoai(bool coGD, double tongthu, double tongchi, double[] tongthus, double[] tongchis, int size, string message)
        {
            if (!coGD)
            {
                Console.WriteLine("Khong co giao dich nao trong thoi gian ban yeu cau thong ke.");
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine();
                Console.WriteLine("Tong thu trong {1} : {0}", tongthu, message);
                Console.WriteLine("Tong chi trong {1} : {0}", tongchi, message);

                Console.WriteLine();
                for (int i = 0; i < size; i++)
                {
                    int phantramthu, phantramchi;
                    if (tongthu == 0)
                    {
                        phantramthu = 0;
                    }
                    else
                    {
                        phantramthu = (int)(tongthus[i] / Math.Abs(tongthu) * 100);
                    }

                    if (tongchi == 0)
                    {
                        phantramchi = 0;
                    }
                    else
                    {
                        phantramchi = (int)(tongchis[i] / Math.Abs(tongchi) * 100);
                    }

                    Console.WriteLine("Tong thu {0} la {1}, chiem {2}%.",
                                      GiaoDich.LayTenLoaiGiaoDich((GiaoDich.LoaiGiaoDich)i),
                                      tongthus[i],
                                      phantramthu);
                    Console.WriteLine("Tong chi {0} la {1}, chiem {2}%.",
                                      GiaoDich.LayTenLoaiGiaoDich((GiaoDich.LoaiGiaoDich)i),
                                      tongchis[i],
                                      phantramchi);
                }
            }
        }
Beispiel #8
0
        // Ham cho phep nhap vao cac giao dich moi
        // viec nhap chi dung lai khi nguoi su dung muon
        static void ThemGDMoi()
        {
            // Kiem tra co tai khoan nao khong
            if (listTK.LaRong)
            { // neu khong thi khong the thuc hien giao dich
                Console.WriteLine("Co so du lieu khong co tai khoan nao de thuc hien giao dich.");
                return;
            }

            do
            {
                Console.WriteLine("\nMoi ban nhap thong tin giao dich :");
                GiaoDich gd = ThemMotGDMoi(-1); // nhap thong tin cho tung giao dich
                listGD.ThemGD(gd);
                // hoi nguoi su dung co muon tiep tuc khong
            } while (XuLyCauHoiYesNo("\nBan co muon nhap them giao dich khac khong ? (Y/N) : "));
        }
Beispiel #9
0
        // Them giao dich moi
        public void ThemGD(GiaoDich gd)
        {
            int index;
            GiaoDichTheoThang gdThang;

            // xem thu giao dich do thuoc thang nam nao
            if ((index = LayViTriGDThangNam(gd.NgayGD)) != -1)
            {// neu co thang nam do trong listThang roi thi them giao dich vao
                listThang[index].ThemGD(gd);
            }
            else // neu chua thi tao GiaoDichTheoThang moi
            {
                gdThang = new GiaoDichTheoThang(gd);
                listThang.Add(gdThang);
                listThang.Sort();
            }
        }
Beispiel #10
0
        // Sua thong tin giao dich Mo Tai khoan
        public void SuaTTTK(TaiKhoan tkCu, TaiKhoan tkMoi)
        {
            int index;

            if ((index = LayViTriGDThangNam(tkCu.NgayMo)) == -1)
            {
                Console.WriteLine("LOI trong qua trinh sua thong tin TaiKhoan khoan");
                Console.ReadLine();
            }
            else
            {
                GiaoDichTheoThang gdThang = listThang[index];
                index = gdThang.LayViTriGDMoTK(tkCu);
                GiaoDich gd = gdThang[index]; // lay ra giao dich Mo tai khoan

                gdThang.XoaGD(gd);            // Xoa giao dich Mo tai khoan cu

                ThemTK(tkMoi);                // Them cai moi
            }
        }
Beispiel #11
0
        // Ham xu ly xoa giao dich
        static void XoaGD()
        {
            // neu la rong thi bo qua
            if (listGD.LaRong)
            {
                Console.WriteLine("Co so du lieu khong co giao dich nao de xoa.");
                return;
            }

            int ma;

            do
            {
                ma = XulyNhapMaGD("de xoa");
                GiaoDich gd = listGD.LayGDVoiMa(ma);

                if (gd == null) // neu ma giao dich khong ton tai trong danh sach
                {
                    Console.WriteLine("Giao dich ban tim khong co trong du lieu.");
                }
                else // nguoc lai
                {
                    Console.WriteLine("Giao dich voi ma {0} co thong tin nhu sau :", gd.Ma);
                    Console.WriteLine(gd);

                    // xac dinh lai y muon xoa giao dich cua nguoi dung
                    if (XuLyCauHoiYesNo("\nBan co that su muon xoa giao dich nay ? (Y/N):"))
                    {
                        // Xoa giao dich khoi danh sach giao dich
                        listGD.XoaGD(gd);

                        Console.WriteLine("Giao dich voi ma {0} da duoc xoa.", ma);
                        Console.ReadKey();
                    }
                }
            } while (XuLyCauHoiYesNo("\nBan co tiep tuc xoa nhung giao dich khac? (Y/N):"));
        }
Beispiel #12
0
 // Ham kiem tra co giao dich nao do trong danh sach khong
 public bool CoGD(GiaoDich gd)
 {
     return(listGD.Contains(gd));
 }
Beispiel #13
0
 // Ham xoa giao dich khoi danh sach
 public void XoaGD(GiaoDich gd)
 {
     listGD.Remove(gd);
 }
Beispiel #14
0
 // Them giao dich vao danh sach
 public void ThemGD(GiaoDich gd)
 {
     listGD.Add(gd); // them vao cuoi danh sach
     listGD.Sort();  // sap xep lai danh sach theo ngay giao dich
 }