Beispiel #1
0
        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);
        }