public PenjualanModel Save(PenjualanModel penjualan) { // validasi var result = penjualan; result = TryValidate(penjualan); var trsID = ""; // save using (var trans = TransHelper.NewScope()) { // edit: delete data lama if (penjualan.PenjualanID.Trim() != "") { _penjualan2Dal.Delete(penjualan.PenjualanID); _penjualanBayarDal.Delete(penjualan.PenjualanID); _penjualanDal.Delete(penjualan.PenjualanID); trsID = penjualan.PenjualanID; } // baru: generate no.transaksi else { var prefix = "JL" + DateTime.Now.ToString("yyMM"); trsID = _paramNoBL.GenNewID(prefix, 10); } // save header penjualan.PenjualanID = trsID; _penjualanDal.Insert(penjualan); // save detil barang foreach (var item in penjualan.ListBrg) { item.PenjualanID = trsID; item.PenjualanID2 = string.Format("{0}-{1}", trsID, item.NoUrut.ToString().PadLeft(3, '0')); _penjualan2Dal.Insert(item); } // save detil bayar if (penjualan.ListBayar != null) { foreach (var item in penjualan.ListBayar) { item.PenjualanID = trsID; item.PenjualanID2 = string.Format("{0}-{1}", trsID, item.NoUrut.ToString().PadLeft(2, '0')); _penjualanBayarDal.Insert(item); } } trans.Complete(); } return(result); }