static void Main(string[] args) { TongHopCanChi.Init(); LookUpTable.Init(); var dan = from chi in TongHopCanChi.MuoiHaiDiaChi where chi.Ten == ChiEnum.Dan select chi; var ngo = TongHopCanChi.MuoiHaiDiaChi.Single(u => u.Ten == ChiEnum.Ngo); //NguHanhEnum nh; //LookUpTable.NapAm.TryGetValue(new Tuple<CanEnum, ChiEnum>(CanEnum.At, ChiEnum.None),out nh); var vts = LookUpTable.VongTruongSinh(CanEnum.Quy, ChiEnum.Mao); var truNguHoDon = LookUpTable.NguHoDon(CanEnum.Quy, ChiEnum.Hoi); var truNguThuDon = LookUpTable.NguThuDon(CanEnum.Quy, ChiEnum.Hoi); var canNgay = new ThienCan(CanEnum.At); var can = new ThienCan(CanEnum.Giap); SettingRules.SetThapThan(canNgay, can); Console.ReadKey(); }
public static CanChi GetCanChi(ComboBox canCombobox, ComboBox chiCombobox) { return(new CanChi { Can = ThienCan.GetCan(canCombobox.SelectedIndex + 1), Chi = DiaChi.GetChi(chiCombobox.SelectedIndex + 1), }); }
private CanChi GetCanChi(int canIndex, int chiIndex) { return(new CanChi { Can = ThienCan.GetCan(canIndex + 1), Chi = DiaChi.GetChi(chiIndex + 1), }); }
public static ThienCan Next(this ThienCan can) { if (can.Id == ThienCan.All.Count) { return(ThienCan.All[0]); } return(ThienCan.All[can.Id]); }
public void TestGioAm() { DateTime duongLich = new DateTime(2018, 8, 28); ThienCan canGioTi = duongLich.ToAmLich().GetCanGioTi(); Assert.AreEqual(canGioTi, Canh); duongLich = new DateTime(2018, 8, 29); canGioTi = duongLich.ToAmLich().GetCanGioTi(); Assert.AreEqual(canGioTi, Nham); duongLich = new DateTime(2018, 8, 30); canGioTi = duongLich.ToAmLich().GetCanGioTi(); Assert.AreEqual(canGioTi, Giap); duongLich = new DateTime(1983, 3, 13); canGioTi = duongLich.ToAmLich().GetCanGioTi(); Assert.AreEqual(canGioTi, Binh); }
/// <summary> /// Nếu chọn chi thì phải cập nhật lại can. /// </summary> /// <param name="combobox"></param> /// <param name="comboboxToUpdate"></param> private void CapNhatCan(ComboBox combobox, ComboBox comboboxToUpdate) { DiaChi selectedChi = DiaChi.All[combobox.SelectedIndex]; ThienCan firstCan = CanChi.GetCanDauTienHopLe(selectedChi); if (comboboxToUpdate.SelectedIndex < 0) { comboboxToUpdate.SelectedIndex = firstCan.Id - 1; } else { ThienCan currentCan = ThienCan.All[comboboxToUpdate.SelectedIndex]; // Cập nhật chi nếu khác loại âm dương. if (currentCan.Duong != firstCan.Duong) { comboboxToUpdate.SelectedIndex = firstCan.Id - 1; } } }
private void SetUIControls(AmLich amLich) { CanChi ngayAm = amLich.NgayAm; CanChi thangAm = amLich.ThangAm; CanChi namAm = amLich.NamAm; cbxNgayCan.SelectedIndex = ngayAm.Can.Id - 1; cbxNgayChi.SelectedIndex = ngayAm.Chi.Id - 1; cbxThangCan.SelectedIndex = thangAm.Can.Id - 1; cbxThangChi.SelectedIndex = thangAm.Chi.Id - 1; cbxNamCan.SelectedIndex = namAm.Can.Id - 1; cbxNamChi.SelectedIndex = namAm.Chi.Id - 1; DiaChi gioChi = DiaChi.All[cbxGioChi.SelectedIndex]; ThienCan gioCan = amLich.GetCanCuaGio(gioChi); cbxGioCan.SelectedIndex = gioCan.Id - 1; labelNgayDuongLich.Text = $"Ngày dương lịch: {amLich.SolarDate.Year}-{amLich.SolarDate.Month}-{amLich.SolarDate.Day}"; labelNgayAmLich.Text = $"Ngày âm lịch: {amLich.LunarYear}-{amLich.LunarMonth}-{amLich.LunarDay}"; }
public void TestCanGioAm() { DateTime duongLich = new DateTime(2018, 8, 30); AmLich amLich = duongLich.ToAmLich(); ThienCan canGioTi = amLich.GetCanGioTi(); ThienCan can = amLich.GetCanCuaGio(Ti); Assert.AreEqual(canGioTi, can); can = amLich.GetCanCuaGio(Suu); Assert.AreEqual(can, At); can = amLich.GetCanCuaGio(Ngo); Assert.AreEqual(can, Canh); can = amLich.GetCanCuaGio(Dau); Assert.AreEqual(can, Quy); can = amLich.GetCanCuaGio(Hoi); Assert.AreEqual(can, At); }
/// <summary> /// Set Thap Than based on "can ngay" /// </summary> /// <param name="canNgay">to be based on</param> /// <param name="can">to set Thap Than property</param> public void SetThapThan(ThienCan canNgay = null, ThienCan can = null) { if (canNgay == null) { canNgay = this.LaSoCuaToi.TuTru[Constants.TRU_NGAY].ThienCan; } var sinhKhac = LookUpTable.NguHanhSinhKhac[canNgay.NguHanh]; var nhSinh = sinhKhac.Item1; var nhDuocSinh = sinhKhac.Item2; var nhKhac = sinhKhac.Item3; var nhBiKhac = sinhKhac.Item4; if (can.NguHanh == nhSinh) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThucThan; } else { can.ThapThan = ThapThanEnum.ThuongQuan; } } else if (can.NguHanh == nhDuocSinh) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienAn; } else { can.ThapThan = ThapThanEnum.ChinhAn; } } else if (can.NguHanh == nhKhac) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienTai; } else { can.ThapThan = ThapThanEnum.ChinhTai; } } else if (can.NguHanh == nhBiKhac) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienQuan; } else { can.ThapThan = ThapThanEnum.ChinhQuan; } } else //same Ngu Hanh { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.TyKien; } else { can.ThapThan = ThapThanEnum.KiepTai; } } }
/// <summary> /// Set Thap Than based on "can ngay" /// </summary> /// <param name="canNgay">to be based on</param> /// <param name="can">to set Thap Than property</param> public static void SetThapThan(ThienCan canNgay, ThienCan can) { var sinhKhac = LookUpTable.NguHanhSinhKhac[canNgay.NguHanh]; var nhSinh = sinhKhac.Item1; var nhDuocSinh = sinhKhac.Item2; var nhKhac = sinhKhac.Item3; var nhBiKhac = sinhKhac.Item4; if (can.NguHanh == nhSinh) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThucThan; } else { can.ThapThan = ThapThanEnum.ThuongQuan; } } else if (can.NguHanh == nhDuocSinh) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienAn; } else { can.ThapThan = ThapThanEnum.ChinhAn; } } else if (can.NguHanh == nhKhac) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienTai; } else { can.ThapThan = ThapThanEnum.ChinhTai; } } else if (can.NguHanh == nhBiKhac) { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.ThienQuan; } else { can.ThapThan = ThapThanEnum.ChinhQuan; } } else //same Ngu Hanh { if (canNgay.AmDuong == can.AmDuong) { can.ThapThan = ThapThanEnum.TyKien; } else { can.ThapThan = ThapThanEnum.KiepTai; } } }