public TinhTienTheoKm(float SoKm, int LoaiXe, Brand brand)
        {
            try
            {
                TinhTienTheoKm objTinhTien = GetThongSoTinhTen(LoaiXe, brand);
                GiaMoCua      = objTinhTien.GiaMoCua;
                KmMoCua       = objTinhTien.KmMoCua;
                KmNguong1     = objTinhTien.KmNguong1;
                GiaNguong1    = objTinhTien.GiaNguong1;
                KmNguong2     = objTinhTien.KmNguong2;
                GiaNguong2    = objTinhTien.GiaNguong2;
                KmNguong3     = objTinhTien.KmNguong3;
                GiaNguong3    = objTinhTien.GiaNguong3;
                N1_ChieuDiTu  = objTinhTien.N1_ChieuDiTu;
                N1_ChieuDiDen = objTinhTien.N1_ChieuDiDen;
                N1_Giam       = objTinhTien.N1_Giam;
                N2_ChieuDiTu  = objTinhTien.N2_ChieuDiTu;
                N2_Giam       = objTinhTien.N2_Giam;
                IsAll         = objTinhTien.IsAll;

                KmNguong2Chieu    = objTinhTien.KmNguong2Chieu;
                TiLeGiamGia2Chieu = objTinhTien.TiLeGiamGia2Chieu;
                ThongTinThueBao   = objTinhTien.ThongTinThueBao;

                mTongTien1Chieu = TinhTien1Chieu_New(SoKm);
                if (SoKm >= N1_ChieuDiTu && SoKm <= N1_ChieuDiDen && N1_Giam > 0)
                {
                    mTongTien2Chieu = mTongTien1Chieu * ((100 - N1_Giam) / 100);
                }
                else if (SoKm > N2_ChieuDiTu && N2_Giam > 0)
                {
                    if (IsAll)
                    {
                        mTongTien2Chieu = mTongTien1Chieu * ((100 - N2_Giam) / 100);
                    }
                    else
                    {
                        float TienGiamNgon = TinhTien1Chieu_New(SoKm - N2_ChieuDiTu);
                        mTongTien2Chieu = (mTongTien1Chieu - TienGiamNgon) * ((100 - N2_Giam) / 100);
                    }
                }
                else
                {
                    mTongTien2Chieu = mTongTien1Chieu;
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("CalDistance : ", ex);
            }
        }
        /// <summary>
        /// Tính toán giá tiền theo loại xe và khoảng cách
        /// </summary>
        /// <param name="SoKm"></param>
        /// <param name="LoaiXe"></param>
        /// <param name="brand"></param>
        /// <returns></returns>
        public float TinhTienBinhThuong(float SoKm, int LoaiXe, Brand brand)
        {
            if (LoaiXe <= 0 || LoaiXe > 7)
            {
                return(0);
            }

            TinhTienTheoKm objTinhTien = new TinhTienTheoKm(SoKm, LoaiXe, brand);

            if (objTinhTien != null)
            {
                return(objTinhTien.TongTien1Chieu);
            }
            else
            {
                return(0);
            }
        }
        /// <summary>
        /// Lấy thông số tính tiền theo loại xe của chi nhánh tương ứng
        /// </summary>
        /// <param name="LoaiXe"></param>
        /// <param name="brand"></param>
        /// <returns></returns>
        public static TinhTienTheoKm GetThongSoTinhTen(int LoaiXe, Brand brand)
        {
            try
            {
                TinhTienTheoKm objTinhTien = new TinhTienTheoKm();

                objTinhTien.LoaiXe = 0;
                DataTable dt = new DataTable();
                dt = new DAO().GetThongSoTinhTien(LoaiXe, brand);
                if ((dt != null) && (dt.Rows.Count > 0))
                {
                    objTinhTien.KmMoCua       = float.Parse(dt.Rows[0]["KmMoCua"].ToString());
                    objTinhTien.GiaMoCua      = float.Parse(dt.Rows[0]["GiaMoCua"].ToString());
                    objTinhTien.KmNguong1     = float.Parse(dt.Rows[0]["KmNguong1"].ToString());
                    objTinhTien.GiaNguong1    = float.Parse(dt.Rows[0]["GiaNguong1"].ToString());
                    objTinhTien.KmNguong2     = dt.Rows[0]["KmNguong2"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["KmNguong2"].ToString());
                    objTinhTien.GiaNguong2    = dt.Rows[0]["GiaNguong2"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["GiaNguong2"].ToString());
                    objTinhTien.KmNguong3     = dt.Rows[0]["KmNguong3"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["KmNguong3"].ToString());
                    objTinhTien.GiaNguong3    = dt.Rows[0]["GiaNguong3"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["GiaNguong3"].ToString());
                    objTinhTien.N1_ChieuDiTu  = dt.Rows[0]["N1_ChieuDiTu"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["N1_ChieuDiTu"].ToString());
                    objTinhTien.N1_ChieuDiDen = dt.Rows[0]["N1_ChieuDiDen"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["N1_ChieuDiDen"].ToString());
                    objTinhTien.N1_Giam       = dt.Rows[0]["N1_Giam"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["N1_Giam"].ToString());
                    objTinhTien.N2_ChieuDiTu  = dt.Rows[0]["N2_ChieuDiTu"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["N2_ChieuDiTu"].ToString());
                    objTinhTien.N2_Giam       = dt.Rows[0]["N2_Giam"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["N2_Giam"].ToString());
                    objTinhTien.IsAll         = dt.Rows[0]["IsAll"] != DBNull.Value && bool.Parse(dt.Rows[0]["IsAll"].ToString());

                    objTinhTien.KmNguong2Chieu    = dt.Rows[0]["KmNguong2Chieu"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["KmNguong2Chieu"].ToString());
                    objTinhTien.TiLeGiamGia2Chieu = dt.Rows[0]["TiLeGiamGiaHaiChieu"] == DBNull.Value ? 0 : float.Parse(dt.Rows[0]["TiLeGiamGiaHaiChieu"].ToString());
                    objTinhTien.LoaiXe            = (int)dt.Rows[0]["LoaiXe"];
                    if (dt.Rows[0]["ThongTinThueBao"] != null)
                    {
                        objTinhTien.ThongTinThueBao = dt.Rows[0]["ThongTinThueBao"].ToString();
                    }
                }
                return(objTinhTien);
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("GetThongSoTinhTen : ", ex);
                return(null);
            }
        }