public void Update(LunasPiutangModel model) { // define var sSql = @" UPDATE LunasPiutang SET Tgl = @Tgl, Jam = @Jam, PihakKeduaID = @PihakKeduaID, JenisBayarID = @JenisBayarID, TotalNilaiSisaPiutang = @TotalNilaiSisaPiutang, TotalNilaiBayar = @TotalNilaiBayar WHERE LunasPiutangID = @LunasPiutangID "; // execute using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@LunasPiutangID", model.LunasPiutangID); cmd.AddParam("@Tgl", model.Tgl.ToTglYMD()); cmd.AddParam("@Jam", model.Jam); cmd.AddParam("@PihakKeduaID", model.PihakKeduaID); cmd.AddParam("@JenisBayarID", model.JenisBayarID); cmd.AddParam("@TotalNilaiSisaPiutang", model.TotalNilaiSisaPiutang); cmd.AddParam("@TotalNilaiBayar", model.TotalNilaiBayar); conn.Open(); cmd.ExecuteNonQuery(); } }
public void GenLunasPiutangCancel(LunasPiutangModel lunasPiutang) { using (var trans = TransHelper.NewScope()) { foreach (var item in lunasPiutang.ListPiutangBayar) { // ambil data bpPiutang var bpPiutang = this.GetData(item.PiutangID); if (bpPiutang.ListLunas == null) continue; // ubah ienumerable => list (biar bisa di-remove) var listLunas = new List<BPPiutangDetilModel>(); listLunas.AddRange(bpPiutang.ListLunas); // cari item pelunasannya var pelunasan = listLunas.Find(x => x.ReffID == lunasPiutang.LunasPiutangID); // escape point if (pelunasan == null) continue; // remove listLunas.Remove(pelunasan); bpPiutang.ListLunas = listLunas; // proses this.Save(bpPiutang); } trans.Complete(); } }
public void Insert(LunasPiutangModel model) { // define var sSql = @" INSERT INTO LunasPiutang ( LunasPiutangID, Tgl, Jam, PihakKeduaID, JenisBayarID, TotalNilaiSisaPiutang, TotalNilaiBayar) VALUES ( @LunasPiutangID, @Tgl, @Jam, @PihakKeduaID, @JenisBayarID, @TotalNilaiSisaPiutang, @TotalNilaiBayar) "; // execute using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@LunasPiutangID", model.LunasPiutangID); cmd.AddParam("@Tgl", model.Tgl.ToTglYMD()); cmd.AddParam("@Jam", model.Jam); cmd.AddParam("@PihakKeduaID", model.PihakKeduaID); cmd.AddParam("@JenisBayarID", model.JenisBayarID); cmd.AddParam("@TotalNilaiSisaPiutang", model.TotalNilaiSisaPiutang); cmd.AddParam("@TotalNilaiBayar", model.TotalNilaiBayar); conn.Open(); cmd.ExecuteNonQuery(); } }
public IEnumerable <LunasPiutangModel> ListData(string tgl1, string tgl2) { // define List <LunasPiutangModel> result = null; var sSql = @" SELECT aa.LunasPiutangID, aa.Tgl, aa.Jam, aa.PihakKeduaID, aa.JenisBayarID, TotalNilaiSisaPiutang, TotalNilaiBayar, ISNULL(bb.PihakKeduaName, '') PihakKeduaName, ISNULL(cc.JenisBayarName, '') JenisBayarName FROM LunasPiutang aa LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID LEFT JOIN JenisBayar cc ON aa.JenisBayarID = cc.JenisBayarID WHERE Tgl BETWEEN @Tgl1 AND @Tgl2 "; // execute using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@Tgl1", tgl1.ToTglYMD()); cmd.AddParam("@Tgl2", tgl2.ToTglYMD()); conn.Open(); using (var dr = cmd.ExecuteReader()) { if (!dr.HasRows) { return(null); } // read result = new List <LunasPiutangModel>(); while (dr.Read()) { var item = new LunasPiutangModel { LunasPiutangID = dr["LunasPiutangID"].ToString(), Tgl = dr["Tgl"].ToString(), Jam = dr["Jam"].ToString(), PihakKeduaID = dr["PihakKeduaID"].ToString(), PihakKeduaName = dr["PihakKeduaName"].ToString(), JenisBayarID = dr["JenisBayarID"].ToString(), JenisBayarName = dr["JenisBayarName"].ToString(), TotalNilaiSisaPiutang = Convert.ToDecimal(dr["TotalNilaiSisaPiutang"]), TotalNilaiBayar = Convert.ToDecimal(dr["TotalNilaiBayar"]) }; result.Add(item); } } } return(result); }
public LunasPiutangModel GetData(string id) { // define LunasPiutangModel result = null; var sSql = @" SELECT aa.Tgl, aa.Jam, aa.PihakKeduaID, aa.JenisBayarID, TotalNilaiSisaPiutang, TotalNilaiBayar, ISNULL(bb.PihakKeduaName, '') PihakKeduaName, ISNULL(cc.JenisBayarName, '') JenisBayarName FROM LunasPiutang aa LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID LEFT JOIN JenisBayar cc ON aa.JenisBayarID = cc.JenisBayarID WHERE aa.LunasPiutangID = @LunasPiutangID "; // execute using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@LunasPiutangID", id); conn.Open(); using (var dr = cmd.ExecuteReader()) { if (!dr.HasRows) { return(null); } // read dr.Read(); result = new LunasPiutangModel { LunasPiutangID = id, Tgl = dr["Tgl"].ToString(), Jam = dr["Jam"].ToString(), PihakKeduaID = dr["PihakKeduaID"].ToString(), PihakKeduaName = dr["PihakKeduaName"].ToString(), JenisBayarID = dr["JenisBayarID"].ToString(), JenisBayarName = dr["JenisBayarName"].ToString(), TotalNilaiSisaPiutang = Convert.ToDecimal(dr["TotalNilaiSisaPiutang"]), TotalNilaiBayar = Convert.ToDecimal(dr["TotalNilaiBayar"]) }; } } return(result); }
public LunasPiutangModel LunasPiutangFactory2() { var result = new LunasPiutangModel { LunasPiutangID = "A2", Tgl = "16-01-2019", Jam = "02:00:00", PihakKeduaID = "B2", PihakKeduaName = "", TotalNilaiSisaPiutang = 4, TotalNilaiBayar = 3, }; return(result); }
// data factory public LunasPiutangModel LunasPiutangFactory1() { var result = new LunasPiutangModel { LunasPiutangID = "A1", Tgl = "15-01-2019", Jam = "01:00:00", PihakKeduaID = "B1", PihakKeduaName = "", TotalNilaiSisaPiutang = 2, TotalNilaiBayar = 1, }; return(result); }
public BPKasModel Generate(LunasPiutangModel lunasPiutang) { if (lunasPiutang == null) { throw new ArgumentNullException(nameof(lunasPiutang)); } var jenisBayar = _jenisBayarBL.GetData(lunasPiutang.JenisBayarID); if (jenisBayar != null) { lunasPiutang.JenisKasID = jenisBayar.JenisKasID; } var bpKas = (BPKasModel)lunasPiutang; var result = Save(bpKas); return(result); }
public void Save() { List <LunasPiutangDetilModel> listDetil = null; if (_view.ListPiutang != null) { listDetil = new List <LunasPiutangDetilModel>(); } foreach (var item in _view.ListPiutang) { listDetil.Add(new LunasPiutangDetilModel { PiutangID = item.BPPiutangID, Tgl = item.Tgl, NilaiSisaPiutang = item.Nilai, NilaiBayar = item.Bayar }); } var lunasPiutang = new LunasPiutangModel { LunasPiutangID = _view.LunasPiutangID, Tgl = _view.Tgl, Jam = _view.Jam, PihakKeduaID = _view.CustomerID, PihakKeduaName = _view.CustomerName, JenisBayarID = _view.JenisBayarID, JenisBayarName = _view.JenisBayarName, TotalNilaiSisaPiutang = _view.TotalPiutang, TotalNilaiBayar = _view.TotalBayar, ListPiutangBayar = listDetil }; // generate lunas piutang // (hapus dulu pelunasan yg lama, kasus simpan ulang) _dep.BPPiutangBL.GenLunasPiutangCancel(lunasPiutang); // simpan lunas piutang _dep.LunasPiutangBL.Save(lunasPiutang); // baru di-generate ulang BPPiutangnya _dep.BPPiutangBL.GenLunasPiutang(lunasPiutang); _dep.BPKasBL.Generate(lunasPiutang); }
public void GenLunasPiutang(LunasPiutangModel lunasPiutang) { using (var trans = TransHelper.NewScope()) { foreach (var item in lunasPiutang.ListPiutangBayar) { if (item.NilaiBayar == 0) continue; var bpPiutang = this.GetData(item.PiutangID); var pelunasanBaru = new BPPiutangDetilModel { ReffID = item.LunasPiutangID, Tgl = lunasPiutang.Tgl, Jam = lunasPiutang.Jam, Keterangan = "Pelunasan Piutang", NilaiPiutang = 0, NilaiLunas = item.NilaiBayar }; var newListLunas = new List<BPPiutangDetilModel>(); newListLunas.AddRange(bpPiutang.ListLunas); newListLunas.Add(pelunasanBaru); var noUrut = 1; foreach(var item2 in newListLunas) { item2.BPPiutangID = item.PiutangID; item2.BPPiutangDetilID = string.Format("{0}-{1}", item.PiutangID, noUrut.ToString().PadLeft(2, '0')); noUrut++; } bpPiutang.ListLunas = newListLunas; this.Save(bpPiutang); } trans.Complete(); } }
public void Save(LunasPiutangModel model) { if (model is null) { throw new ArgumentNullException(nameof(model)); } // validasi customer var customer = _pihakKeduaDal.GetData(model.PihakKeduaID); if (customer == null) { throw new ArgumentException("CustomerID invalid"); } model.PihakKeduaName = customer.PihakKeduaName; // validasi jenisbayar var jenisBayar = _jenisBayarDal.GetData(model.JenisBayarID); if (jenisBayar == null) { throw new ArgumentException("JenisBayarID invalid"); } model.JenisBayarName = jenisBayar.JenisBayarName; // pelunasan piutang tidak boleh dengan piutang if (jenisBayar.TipeKas == TIPE_KAS_PIUTANG) { throw new ArgumentException("Pelunasan tidak boleh menggunakan Piutang"); } // cek list piutang apakah benar milik customer ini; // serta validasi nilai piutang vs nilai bayar foreach (var item in model.ListPiutangBayar) { var bpPiutang = _bpPiutangBL.GetData(item.PiutangID); if (bpPiutang == null) { throw new ArgumentException("PiutangID not found"); } if (bpPiutang.PihakKeduaID != model.PihakKeduaID) { throw new ArgumentException("PiutangID invalid Customer"); } if (bpPiutang.NilaiPiutang - bpPiutang.NilaiLunas < item.NilaiBayar) { throw new ArgumentException("Nilai Bayar melebihi piutang"); } } using (var trans = TransHelper.NewScope()) { if (model.LunasPiutangID.Trim() == "") { model.LunasPiutangID = GenNewID(); } var noUrut = 1; foreach (var item in model.ListPiutangBayar) { item.LunasPiutangID = model.LunasPiutangID; var id2 = string.Format("{0}-{1}", item.LunasPiutangID, noUrut.ToString().PadLeft(2, '0')); item.LunasPiutangID2 = id2; noUrut++; } // hapus data lama _lunasPiutangDetilDal.Delete(model.LunasPiutangID); _lunasPiutangDal.Delete(model.LunasPiutangID); // insert data baru _lunasPiutangDal.Insert(model); foreach (var item in model.ListPiutangBayar) { _lunasPiutangDetilDal.Insert(item); } trans.Complete(); } }