public Dictionary <string, dynamic> HitungSaldo(PilihanDebitKredit pilihanDebitKredit, TBJurnalDetail[] _jurnalDetail) { Dictionary <string, dynamic> _result = new Dictionary <string, dynamic>(); decimal _saldo = 0; foreach (var item in _jurnalDetail) { _saldo += (decimal)item.Debit - (decimal)item.Kredit; } //Saldo normal DEBIT dan lebih besar dari 0 --> tetap DEBIT if (PilihanDebitKredit.Debit == pilihanDebitKredit && _saldo >= 0) { Debit += _saldo; _result.Add("Debit", _saldo); _result.Add("Kredit", 0); } //Saldo normal DEBIT dan kecil dari 0 --> pindah ke KREDIT else if (PilihanDebitKredit.Debit == pilihanDebitKredit && _saldo < 0) { _saldo = Math.Abs(_saldo); Kredit += _saldo; _result.Add("Debit", 0); _result.Add("Kredit", _saldo); } //Saldo normal KREDIT dan kecil dari 0 --> tetap KREDIT else if (PilihanDebitKredit.Kredit == pilihanDebitKredit && _saldo < 0) { _saldo = Math.Abs(_saldo); Kredit += _saldo; _result.Add("Debit", 0); _result.Add("Kredit", _saldo); } //Saldo normal KREDIT dan lebih besar dari 0 --> pindah ke DEBIT else if (PilihanDebitKredit.Kredit == pilihanDebitKredit && _saldo >= 0) { Debit += _saldo; _result.Add("Debit", _saldo); _result.Add("Kredit", 0); } return(_result); }
public TBAkuntansiJurnalDetail Proses(DataClassesDatabaseDataContext db, PilihanDebitKredit status, int idAkuntansiAkun, decimal nominal) { AkuntansiAkun_Class ClassAkuntansiAkun = new AkuntansiAkun_Class(); var Akun = ClassAkuntansiAkun.Cari(db, idAkuntansiAkun); if (Akun != null) { var JurnalDetail = new TBAkuntansiJurnalDetail { //IDAkuntansiJurnalDetail //TBAkuntansiJurnal //Debit //Kredit //IDAkuntansiJurnal //IDAkuntansiAkun TBAkuntansiAkun = Akun }; if (status == PilihanDebitKredit.Debit) { JurnalDetail.Debit = nominal; JurnalDetail.Kredit = 0; } else if (status == PilihanDebitKredit.Kredit) { JurnalDetail.Debit = 0; JurnalDetail.Kredit = nominal; } return(JurnalDetail); } else { return(null); } }