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); } }