/// <summary> /// Method khusus untuk menyimpan pembayaran hutang pembelian tunai /// </summary> /// <param name="obj"></param> /// <returns></returns> private int SavePembayaranHutang(BeliProduk obj) { PembayaranHutangProduk pembayaranHutang; ItemPembayaranHutangProduk itemPembayaranHutang; IPembayaranHutangProdukRepository pembayaranHutangRepo = new PembayaranHutangProdukRepository(_context, _log); var result = 0; // set detail itemPembayaranHutang = pembayaranHutangRepo.GetByBeliID(obj.beli_produk_id); if (itemPembayaranHutang != null) // sudah ada pelunasan { itemPembayaranHutang.nominal = obj.grand_total; itemPembayaranHutang.BeliProduk = new BeliProduk { beli_produk_id = itemPembayaranHutang.beli_produk_id }; itemPembayaranHutang.entity_state = EntityState.Modified; // set header by detail pembayaranHutang = itemPembayaranHutang.PembayaranHutangProduk; pembayaranHutang.is_tunai = obj.is_tunai; // set item pembayaran pembayaranHutang.item_pembayaran_hutang.Add(itemPembayaranHutang); result = pembayaranHutangRepo.Update(pembayaranHutang, true); } else // belum ada pelunasan hutang { pembayaranHutang = new PembayaranHutangProduk(); // set header pembayaranHutang.supplier_id = obj.supplier_id; pembayaranHutang.pengguna_id = obj.pengguna_id; pembayaranHutang.tanggal = obj.tanggal; pembayaranHutang.keterangan = "Pembelian tunai produk"; pembayaranHutang.is_tunai = obj.is_tunai; // set item itemPembayaranHutang = new ItemPembayaranHutangProduk(); itemPembayaranHutang.beli_produk_id = obj.beli_produk_id; itemPembayaranHutang.BeliProduk = obj; itemPembayaranHutang.nominal = obj.grand_total; // GetTotalNotaSetelahDiskonDanPPN(obj); itemPembayaranHutang.keterangan = string.Empty; // set item pembayaran pembayaranHutang.item_pembayaran_hutang.Add(itemPembayaranHutang); // simpan item pembayaran result = pembayaranHutangRepo.Save(pembayaranHutang, true); } return(result); }
/// <summary> /// Method untuk menghapus pembayaran hutang jika terjadi perubahan status nota dari tunai ke kredit /// </summary> /// <param name="obj"></param> /// <returns></returns> private int HapusPembayaranHutang(BeliProduk obj) { PembayaranHutangProduk pembayaranHutang; ItemPembayaranHutangProduk itemPembayaranHutang; IPembayaranHutangProdukRepository pembayaranHutangRepo = new PembayaranHutangProdukRepository(_context, _log); var result = 0; // set detail itemPembayaranHutang = pembayaranHutangRepo.GetByBeliID(obj.beli_produk_id); if (itemPembayaranHutang != null) { pembayaranHutang = itemPembayaranHutang.PembayaranHutangProduk; result = pembayaranHutangRepo.Delete(pembayaranHutang); } return(result); }