private void SetViewBagFooter(FakturAP2 fakturAP) { decimal totalpenjualan = CalculateTotalPenjualan(fakturAP); decimal totalkonsesi = TotalKonsesi(totalpenjualan, fakturAP); decimal totalbagihasil = totalkonsesi * fakturAP.Tarif; decimal totalpajakbagihasil = totalbagihasil * fakturAP.Pajak; decimal totaltagihan = totalpajakbagihasil + totalbagihasil; ViewBag.Target = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + fakturAP.Target.ToString("N2") : fakturAP.Target.ToString("N0"); ViewBag.TotalKonsesi = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + totalkonsesi.ToString("N2") : totalkonsesi.ToString("N0"); ViewBag.TotalPenjualan = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + totalpenjualan.ToString("N2") : totalpenjualan.ToString("N0"); ViewBag.TotalBagiHasil = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + totalbagihasil.ToString("N2") : totalbagihasil.ToString("N0"); ViewBag.TotalPajakBagiHasil = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + totalpajakbagihasil.ToString("N2") : totalpajakbagihasil.ToString("N0"); ViewBag.TotalTagihan = fakturAP.CcyCode.ToUpper() == USD ? USD + " " + totaltagihan.ToString("N2") : totaltagihan.ToString("N0"); ViewBag.Say = SetCcyTerbilang(totaltagihan, fakturAP.CcyCode); }
public decimal TotalKonsesi(decimal totalPenjualan, FakturAP2 fakturAP) { if (totalPenjualan < fakturAP.Target) { return fakturAP.Target; } return totalPenjualan; }
private decimal CalculateTotalPenjualan(FakturAP2 fakturAP) { ExchangeRate _USDRate = _apRepo.FindRateUSD(DateTime.Today.Date); if (_USDRate == null) throw new ApplicationException("Rate USD tanggal " + DateTime.Today.Date.ToString("dd / MM /yyyy") + " tidak ditemukan."); if (fakturAP.CcyCode.ToUpper() == USD) return (fakturAP.TotalPenjualan / _USDRate.Rate) + fakturAP.TotalPenjualanInUSD; return fakturAP.TotalPenjualan + (fakturAP.TotalPenjualanInUSD * _USDRate.Rate); }