Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 public static CanChi GetCanChi(ComboBox canCombobox, ComboBox chiCombobox)
 {
     return(new CanChi
     {
         Can = ThienCan.GetCan(canCombobox.SelectedIndex + 1),
         Chi = DiaChi.GetChi(chiCombobox.SelectedIndex + 1),
     });
 }
Ejemplo n.º 3
0
 private CanChi GetCanChi(int canIndex, int chiIndex)
 {
     return(new CanChi
     {
         Can = ThienCan.GetCan(canIndex + 1),
         Chi = DiaChi.GetChi(chiIndex + 1),
     });
 }
Ejemplo n.º 4
0
        public static ThienCan Next(this ThienCan can)
        {
            if (can.Id == ThienCan.All.Count)
            {
                return(ThienCan.All[0]);
            }

            return(ThienCan.All[can.Id]);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        /// <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;
                }
            }
        }
Ejemplo n.º 7
0
        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}";
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        /// <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;
                }
            }
        }
Ejemplo n.º 10
0
        /// <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;
                }
            }
        }