// Cai dat giao dien IComparable public int CompareTo(object o) { GiaoDichTheoThang temp = o as GiaoDichTheoThang; if (temp != null) { // sap xep theo thoi gian giao dich return(this.ThangNam.CompareTo(temp.ThangNam)); } throw new ArgumentException("not a GiaoDichTheoThang"); }
// Ham tra ra danh sach cac giao dich thuc hien trong ngay nao do private List <GiaoDich> LayGDCuaNgay(ThoiGian ngay) { List <GiaoDich> list = new List <GiaoDich>(); int index; if ((index = LayViTriGDThangNam(ngay)) == -1) { return(null); } else { GiaoDichTheoThang gdThang = listThang[index]; return(gdThang.LayGDCuaNgay(ngay)); } }
// 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(); } }
// THANH PHAN PUBLIC // Them giao dich Mo Tai khoan // duoc dung de tao giao dich theo thang public void ThemTK(TaiKhoan tk) { // tao giao dich moi voi loaiGD la MoTK GiaoDich gd = new Thu(MaChoGiaoDichMoi, tk.NgayMo, tk.SoTienBanDau, tk, GiaoDich.LoaiGiaoDich.MoTK); int index; GiaoDichTheoThang gdThang; // xem thu giao dich do thuoc thang nam nao if ((index = LayViTriGDThangNam(tk.NgayMo)) != -1) { // neu co thang nam do trong listThang roi thi listThang[index].ThemGD(gd); // va add giao dich do vao gdThang } else { // neu chua co gdThang = new GiaoDichTheoThang(gd); // tao gdThang moi listThang.Add(gdThang); // add gdThang voi listThang listThang.Sort(); // sap xep danh sach theo ngay } }
// 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 } }