private decimal CalculateTotalPenjualan(FakturPajakAP2 fakturPajak, ExchangeRate usdRate)
        {
            if (usdRate == null)
                throw new ApplicationException("Rate USD tanggal " + DateTime.Today.Date.ToString("dd / MM /yyyy") + " tidak ditemukan.");

            if (fakturPajak.CcyCode.ToUpper() == USD)
                return (fakturPajak.TotalPenjualan / usdRate.Rate) + fakturPajak.TotalPenjualanInUSD;

            return fakturPajak.TotalPenjualan + (fakturPajak.TotalPenjualanInUSD * usdRate.Rate);
        }
        private void SetViewBagFooter(FakturPajakAP2 fakturPajak)
        {
            ExchangeRate _USDRate = reportFakturPajak.FindRateUSD(DateTime.Today.Date);
            decimal totalpenjualan = CalculateTotalPenjualan(fakturPajak, _USDRate);
            decimal totalkonsesi = TotalKonsesi(totalpenjualan, fakturPajak);
            decimal totalbagihasil = totalkonsesi * fakturPajak.Tarif;
            decimal totalpajakbagihasil = Math.Round(totalbagihasil * fakturPajak.Pajak, 2);

            decimal totaltagihan = totalpajakbagihasil + totalbagihasil;
            if (fakturPajak.CcyCode.ToUpper() == USD)
            {
                decimal totaltagihanIDR = (totalpajakbagihasil) * _USDRate.Rate;
                ViewBag.TotalTagihanIDR = "Rp " + totaltagihanIDR.ToString("N0");
                ViewBag.Rate = _USDRate.Rate;
            }

            ViewBag.TotalKonsesi = fakturPajak.CcyCode.ToUpper() == USD ? USD + " " + totalkonsesi.ToString("N2") :  totalkonsesi.ToString("N0");
            ViewBag.TotalPenjualan = fakturPajak.CcyCode.ToUpper() == USD ? USD + " " + totalpenjualan.ToString("N2") : totalpenjualan.ToString("N0");
            ViewBag.TotalBagiHasil = fakturPajak.CcyCode.ToUpper() == USD ? USD + " " + totalbagihasil.ToString("N2") : totalbagihasil.ToString("N0");
            ViewBag.TotalPajakBagiHasil = fakturPajak.CcyCode.ToUpper() == USD ? USD + " " + totalpajakbagihasil.ToString("N2") : totalpajakbagihasil.ToString("N0");
            ViewBag.TotalTagihan = fakturPajak.CcyCode.ToUpper() == USD ? USD + " " + totaltagihan.ToString("N2") : IDR + " " + totaltagihan.ToString("N0");
            //if(fakturPajak.CcyCode.ToUpper() == USD)
            //{
            //    ViewBag.Rate = _USDRate.Rate;
            //    ViewBag.TotalTagihan = IDR + " " + (totaltagihan * _USDRate.Rate).ToString("N");
            //    ViewBag.Say = SetCcyTerbilang(totaltagihan, fakturPajak.CcyCode);
            //}
            //else
            //{
            //     ViewBag.Rate = 1;
            //     ViewBag.TotalTagihan = IDR + " " + (totalbagihasil).ToString("N");
            //     ViewBag.Say = SetCcyTerbilang(totaltagihan, fakturPajak.CcyCode);
            //}
        }
 public decimal TotalKonsesi(decimal totalPenjualan, FakturPajakAP2 fakturPajak)
 {
     if (totalPenjualan < fakturPajak.Target)
     {
         return fakturPajak.Target;
     }
     return totalPenjualan;
 }