public void GetData_ValidData_NoEx() { using (var trans = TransHelper.NewScope()) { // arrange var expected = JenisTrsKasirDataFactory(); _jenisTrsKasirDal.Insert(expected); // act var actual = _jenisTrsKasirDal.GetData("A1"); // assert actual.Should().BeEquivalentTo(expected); } }
public BukuKasModel Save(BukuKasModel bukuKas) { #region VALIDASI-DATA // validasi null if (bukuKas == null) { throw new ArgumentNullException(nameof(bukuKas)); } // validasi tglBuku if (!bukuKas.TglBuku.IsValidTgl("dd-MM-yyyy")) { var errMsg = string.Format("Invalid TglBuku: {0}", bukuKas.TglBuku); throw new ArgumentException(errMsg); } // validasi jamBuku if (!bukuKas.JamBuku.IsValidJam("HH:mm:ss")) { var errMsg = string.Format("Invalid JamBuku: {0}", bukuKas.JamBuku); throw new ArgumentException(errMsg); } // validasi PihakKetigaID var pihakKetiga = _pihakKetigaDal.GetData(bukuKas.PihakKetigaID); if (pihakKetiga == null) { var errMsg = string.Format("Invalid PihakKetigaID {0}", bukuKas.PihakKetigaID); throw new ArgumentException(errMsg); } else { bukuKas.PihakKetigaName = pihakKetiga.PihakKetigaName; } // validasi jenisTrsKasir var jenisTrsKasir = _jenisTrsKasirDal.GetData(bukuKas.JenisTrsKasirID); if (jenisTrsKasir == null) { var errMsg = string.Format("Invalid JenisTrsKasirID: {0}", bukuKas.JenisTrsKasirID); throw new ArgumentException(errMsg); } // jumlahkan kasMasuk dan kasKeluar untuk menentukan // untuk menentukan if (bukuKas.NilaiKas > 0) { if (jenisTrsKasir.IsKasKeluar) { var errMsg = string.Format("Invalid NilaiKas vs JenisTrsKasir"); throw new ArgumentException(errMsg); } } #endregion #region PROSES-SAVE // generate id using (var trans = TransHelper.NewScope()) { var isNew = false; if (bukuKas.BukuKasID.Trim() == "") { bukuKas.BukuKasID = this.GenNewID(); isNew = true; } if (isNew) { _bukuKasDal.Insert(bukuKas); } else { _bukuKasDal.Update(bukuKas); } #endregion switch (bukuKas.JenisTrsKasirID) { case "PTG": _bukuPiutangBL.GenBukuPiutang(bukuKas); break; case "PTL": _bukuPiutangBL.GenBukuPiutangLunas(bukuKas); break; default: break; } trans.Complete(); } return(bukuKas); }