public void InsertTest()
        {
            using (var trans = TransHelper.NewScope())
            {
                //  arrange
                var expected = BPPiutangDataFactory();

                //  act
                _bpPiutangDal.Insert(expected);


                //  assert
            }
        }
Beispiel #2
0
        private BPPiutangModel Save(BPPiutangModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            //  validate pihak kedua;
            var pihakKedua = _pihakKeduaBL.GetData(model.PihakKeduaID);
            if (pihakKedua == null)
                throw new ArgumentException("PihakKeduaID invalid");
            else
                model.PihakKeduaName = pihakKedua.PihakKeduaName;

            //  kasus simpan ulang; pastikan belum ada pelunasan
            var bpPiutang = GetData(model.BPPiutangID);
            if(bpPiutang != null)
            {
                //if (bpPiutang.NilaiLunas > 0)
                    //throw new ArgumentException("Piutang sudah ada pelunasan, tidak bisa simpan ulang");
            }

            //  update nilai total di header
            model.NilaiPiutang = model.ListLunas.Sum(x => x.NilaiPiutang);
            model.NilaiLunas = model.ListLunas.Sum(x => x.NilaiLunas);

            //  delete data lama
            using (var trans = TransHelper.NewScope())
            {
                _bpPiutangDetilDal.Delete(model.BPPiutangID);
                _bpPiutangDal.Delete(model.BPPiutangID);

                _bpPiutangDal.Insert(model);
                foreach (var item in model.ListLunas)
                    _bpPiutangDetilDal.Insert(item);

                trans.Complete();
            }
            return model;
        }