public async Task <bool> AddTransH(ApTransHView trans) { //string test = codeview.SrcCode.ToUpper(); //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList(); string KdSrc = "AP"; ApTransH transH = new ApTransH { Bukti = GetNumber(), Supplier = trans.Supplier.ToUpper(), Tanggal = trans.Tanggal, Keterangan = trans.Keterangan, Jumlah = trans.JumBayar, Discount = 0, Unapplied = trans.UpdateUnapplied, Hutang = 0, KdBank = trans.KdBank, PPn = 0, PPh = 0, JumPPh = 0, JumPPn = 0, Bruto = 0, Netto = 0, Pajak = false, Kode = "23", ApSupplId = trans.ApSupplId // ApTransDs = new List<ApTransD>() }; #region detailTrans //List<ApHutang> transaksi = new List<ApHutang>(); //transaksi = _context.ApHutangs.Where(x => x.supplier == trans.supplier && x.Sisa != 0).ToList(); //foreach (var item in trans.ApTransDs) //{ // transH.ApTransDs.Add(new ApTransD() // { // Jumlah = item.Jumlah, // Kode = "14", // KodeTran = item.KodeTran, // Lpb = transH.Bukti, // Tanggal = trans.Tanggal, // Discount = item.Discount, // Bayar = item.Bayar, // Sisa = item.UpdateSisa // }); // transaksi.Where(x => x.Dokumen == item.Lpb).ToList() // .ForEach(s => // { // s.Bayar = item.Bayar + item.Discount; // s.Discount = item.Discount; // s.Sisa = item.UpdateSisa; // }); //} //transH.ApTransDs.RemoveAll(x => x.Bayar == 0 && x.Discount == 0); //transaksi.RemoveAll(x => x.Bayar == 0 && x.Discount == 0); #endregion ApHutang transaksi = new ApHutang { Kode = "CA", Dokumen = transH.Bukti, Tanggal = transH.Tanggal, Supplier = transH.Supplier, Keterangan = transH.Keterangan, KodeTran = "23", Jumlah = -1 * transH.Jumlah, SldSisa = -1 * transH.Jumlah, Bayar = -1 * transH.Jumlah, Discount = 0, UnApplied = -1 * transH.Unapplied, Sisa = -1 * transH.Unapplied, Dpp = 0, PPn = 0, PPh = 0, SldBayar = 0, SldDisc = 0, SldUnpl = 0 }; var supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault(); supplier.Hutang -= transH.Jumlah; _context.ApSuppls.Update(supplier); _context.ApTransHs.Add(transH); _context.ApHutangs.Add(transaksi); await _context.SaveChangesAsync(); var cekBukti = (from e in _context.CbTransHs where e.DocNo == transH.Bukti select e).FirstOrDefault(); if (cekBukti == null) { if (transH.KdBank != null && transH.KdBank.Length != 0) { CbTransH transBank = new CbTransH { DocNo = transH.Bukti, KodeBank = trans.KdBank, Tanggal = trans.Tanggal, Keterangan = trans.Keterangan, Saldo = -1 * trans.JumBayar, CbTransDs = new List <CbTransD>() }; transBank.CbTransDs.Add(new CbTransD() { SrcCode = KdSrc, Keterangan = "Pembayaran Uang Muka " + trans.Supplier.ToUpper(), Bayar = trans.JumBayar, Jumlah = -1 * trans.JumBayar }); var bank = (from e in _context.Banks where e.KodeBank == trans.KdBank select e).FirstOrDefault(); bank.Saldo -= trans.JumBayar; _context.Banks.Update(bank); _context.CbTransHs.Add(transBank); await _context.SaveChangesAsync(); } } return(true); }
public async Task <bool> AddTransH(ApTransHView trans) { //string test = codeview.SrcCode.ToUpper(); //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList(); string KdSrc = "AP"; ApTransH transH = new ApTransH { Bukti = GetNumber(), Supplier = trans.Supplier.ToUpper(), Tanggal = trans.Tanggal, Keterangan = trans.Keterangan, Jumlah = trans.JumBayar, Discount = trans.JumDiskon, Unapplied = trans.UpdateUnapplied, Hutang = trans.JumHutang, KdBank = trans.KdBank, PPn = 0, PPh = 0, JumPPh = 0, JumPPn = 0, Bruto = 0, Netto = 0, Pajak = false, Kode = "24", ApSupplId = trans.ApSupplId, ApTransDs = new List <ApTransD>() }; List <ApHutang> transaksi = new List <ApHutang>(); transaksi = _context.ApHutangs.Where(x => x.Supplier == trans.Supplier && x.Sisa != 0).ToList(); foreach (var item in trans.ApTransDs) { transH.ApTransDs.Add(new ApTransD() { Jumlah = item.Jumlah, Kode = "24", KodeTran = item.KodeTran, Lpb = transH.Bukti, Tanggal = trans.Tanggal, Discount = item.Discount, Bayar = item.Bayar, Sisa = item.UpdateSisa }); transaksi.Where(x => x.Dokumen == item.Lpb).ToList() .ForEach(s => { s.Bayar = item.Bayar + item.Discount; s.Discount = item.Discount; s.Sisa = item.UpdateSisa; }); } transH.ApTransDs.RemoveAll(x => x.Bayar == 0 && x.Discount == 0); transaksi.RemoveAll(x => x.Bayar == 0 && x.Discount == 0); var Supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault(); Supplier.Hutang -= trans.Jumlah; ApHutang Newtransaksi = new ApHutang { Kode = "CA", Dokumen = transH.Bukti, Tanggal = transH.Tanggal, Supplier = transH.Supplier, Keterangan = transH.Keterangan, KodeTran = "24", Jumlah = -1 * trans.JumHutang, SldSisa = -1 * trans.JumHutang, Bayar = -1 * trans.JumBayar, Discount = 0, UnApplied = -1 * trans.UpdateUnapplied, Sisa = -1 * trans.UpdateUnapplied, Dpp = 0, PPn = 0, PPh = 0, SldBayar = 0, SldDisc = 0, SldUnpl = 0 }; _context.ApSuppls.Update(Supplier); _context.ApTransHs.Add(transH); _context.ApHutangs.UpdateRange(transaksi); _context.ApHutangs.Add(Newtransaksi); await _context.SaveChangesAsync(); var cekBukti = (from e in _context.CbTransHs where e.DocNo == transH.Bukti select e).FirstOrDefault(); if (cekBukti == null) { if (transH.KdBank != null && transH.KdBank.Length != 0) { CbTransH transBank = new CbTransH { DocNo = transH.Bukti, KodeBank = trans.KdBank, Tanggal = trans.Tanggal, Keterangan = trans.Keterangan, Saldo = -1 * trans.JumBayar, CbTransDs = new List <CbTransD>() }; foreach (var item in trans.ApTransDs) { transBank.CbTransDs.Add(new CbTransD() { SrcCode = KdSrc, Keterangan = "Pembayaran Hutang" + trans.Supplier.ToUpper(), Bayar = item.Bayar, Jumlah = -1 * item.Bayar, }); } var bank = (from e in _context.Banks where e.KodeBank == trans.KdBank select e).FirstOrDefault(); bank.Saldo -= trans.JumBayar; _context.Banks.Update(bank); _context.CbTransHs.Add(transBank); await _context.SaveChangesAsync(); } } return(true); }
public async Task <bool> EditTransH(ApTransHView trans) { //string test = codeview.SrcCode.ToUpper(); //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList(); var cekFirst = _context.ApHutangs.Where(x => x.Dokumen == trans.Bukti).FirstOrDefault(); ApTransH transH = new ApTransH { Supplier = trans.Supplier.ToUpper(), Tanggal = trans.Tanggal, Keterangan = trans.Keterangan, Jumlah = trans.Jumlah, PPn = 0, PPh = 0, JumPPh = 0, JumPPn = 0, Bruto = trans.Jumlah, Netto = 0, Discount = 0, Hutang = 0, Pajak = false, Unapplied = 0, Kode = "21", ApSupplId = trans.ApSupplId, ApTransDs = new List <ApTransD>() }; foreach (var item in trans.ApTransDs) { transH.ApTransDs.Add(new ApTransD() { DistCode = item.DistCode, Keterangan = item.Keterangan, Jumlah = item.Jumlah, Kode = "21", KodeTran = "21", Lpb = transH.Bukti, Sisa = item.Jumlah, Discount = 0, Bayar = 0, Tanggal = trans.Tanggal }); } ApHutang transaksi = new ApHutang { Kode = "IN", Tanggal = transH.Tanggal, Supplier = transH.Supplier, Keterangan = transH.Keterangan, KodeTran = "21", Jumlah = transH.Jumlah, Bayar = 0, Discount = 0, UnApplied = 0, Sisa = transH.Jumlah, SldSisa = transH.Jumlah, Dpp = transH.Jumlah, PPn = 0, PPh = 0, SldBayar = 0, SldDisc = 0, SldUnpl = 0 }; try { var ExistingTrans = _context.ApTransHs.Where(x => x.ApTransHId == trans.ApTransHId).FirstOrDefault(); if (ExistingTrans != null) { transH.Bukti = ExistingTrans.Bukti; transaksi.Dokumen = ExistingTrans.Bukti; _context.ApTransHs.Remove(ExistingTrans); var Supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault(); Supplier.Hutang -= ExistingTrans.Jumlah; Supplier.Hutang += trans.Jumlah; _context.ApSuppls.Update(Supplier); _context.ApHutangs.Remove(cekFirst); _context.ApTransHs.Add(transH); _context.ApHutangs.Add(transaksi); await _context.SaveChangesAsync(); return(true); } } catch (Exception ex) { throw ex; } return(false); }