public JenisBiayaModel Add(JenisBiayaModel jenisBiaya) { // INPUT VALIDATION var kt = Validate(jenisBiaya); // BUSINESS VALIDATION var jenisBiayaDb = _jenisBiayaDal.GetData(kt); jenisBiayaDb.NotEmpty().Throw("JENIS BIAYA ID already exist"); // REPO-OP _jenisBiayaDal.Insert(kt); // RETURN return(kt); }
public JenisBiayaModel Save(JenisBiayaModel jenisBiaya) { // validasi var result = jenisBiaya; result = TryValidate(jenisBiaya); // save var dummyJenisBiaya = _jenisBiayaDal.GetData(jenisBiaya.JenisBiayaID); if (dummyJenisBiaya == null) { _jenisBiayaDal.Insert(result); } else { _jenisBiayaDal.Update(result); } return(result); }
public void GetData_Test() { using (var trans = TransHelper.NewScope()) { // arrange var expected = JenisBiayaSample(); _sut.Insert(expected); // act var actual = _sut.GetData(expected); // assert actual.Should().BeEquivalentTo(expected); } }
private SuratDinasModel Validate(SuratDinasModel sd) { // mandatory check sd.JenisBiayaID.Empty().Throw("JENIS BIAYA kosong"); sd.PegID.Empty().Throw("PEGAWAI kosong"); sd.RSID.Empty().Throw("RS TUJUAN kosong"); sd.TransportID.Empty().Throw("TRANSPORT kosong"); sd.Keperluan.Empty().Throw("KEPERLUAN kosong"); // pegawai var peg = _pegDal.GetData(sd); peg.Empty().Throw("PEGAWAI invalid"); sd.PegName = peg.PegName; // transport var transport = _transportDal.GetData(sd); transport.Empty().Throw("TRANSPORT invalid"); sd.TransportName = transport.TransportName; // jenis biaya var jb = _jenisBiayaDal.GetData(sd); jb.Empty().Throw("JENIS BIAYA invalid"); sd.JenisBiayaName = jb.JenisBiayaName; // rumah sakit var rs = _rsDal.GetData(sd); rs.Empty().Throw("RS TUJUAN invalid"); sd.RSName = rs.RSName; // urutan tgl mulai - selesai sd.TglSelesai.LessThan(sd.TglMulai).Throw("Tgl Mulasi / Selesai invalid"); // km awal => terisi jika mobil kantor, kosong jika sebaliknya if (sd.TransportID == TRANSPORT_ID_OPERASIONAL) { sd.KMAwal.LessOrEqual(0).Throw("KM Awal kosong"); } if (sd.TransportID != TRANSPORT_ID_OPERASIONAL) { sd.KMAwal = 0; } // nilai kas bon => terisi jika kasbon, kosongkan jika bukan kasbon if (sd.JenisBiayaID == JENISBIAYA_ID_KASBON) { sd.KasBon.LessOrEqual(0).Throw("Nilai KasBon kosong"); } if (sd.JenisBiayaID != JENISBIAYA_ID_KASBON) { sd.KasBon = 0; } // approval sd.ListApproval.Empty().Throw("List Approval empty"); var listApproval = new List <SuratDinasApprovalModel>(); foreach (var item in sd.ListApproval) { peg = _pegDal.GetData(item); peg.Empty().Throw("PegID Approval invalid"); item.PegName = peg.PegName; var aprvType = _approvalTypeDal.GetData(item); aprvType.Empty().Throw("Approval Type invalid"); item.ApprovalTypeName = aprvType.ApprovalTypeName; var newItem = new SuratDinasApprovalModel { PegID = item.PegID, PegName = peg.PegName, ApprovalTypeID = item.ApprovalTypeID, ApprovalTypeName = item.ApprovalTypeName, }; listApproval.Add(newItem); } sd.ListApproval = listApproval; return(sd); }
public LunasKasBonModel Save(LunasKasBonModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var kasBon = _kasBonDal.GetData(model.KasBonID); if (kasBon == null) { throw new ArgumentException("PiutangID invalid"); } // validate pihak kedua var pihakKedua = _pihakKeduaDal.GetData(model.PihakKeduaID); if (pihakKedua == null) { throw new ArgumentException("PihakKeduaID invalid"); } else { model.PihakKeduaName = pihakKedua.PihakKeduaName; } if (kasBon.PihakKeduaID != model.PihakKeduaID) { throw new ArgumentException("PihakKeduaID tidak sama dengan data KasBon"); } if (model.ListLunas == null) { throw new ArgumentException("Detil Pelunasan masih kosong"); } // update nilai total lunas model.NilaiTotLunas = model.ListLunas.Sum(x => x.NilaiLunas); if (model.NilaiSisaPiutang < model.NilaiTotLunas) { throw new ArgumentException("Nilai Pelunasan KasBon terlalu banyak"); } foreach (var item in model.ListLunas) { var jenisLunas = _jenisLunasDal.GetData(item.JenisLunasID); if (jenisLunas == null) { throw new ArgumentException("JenisLunasID invalid : " + item.JenisLunasID); } if (item.NilaiLunas <= 0) { throw new ArgumentException("Pelunasan tidak boleh minus atau nol"); } // jika PelunasanID muncul, cek apakah NoPenjualan valid if (item.PenjualanID.Trim() != "") { var penjualan = _penjualanDal.GetData(item.PenjualanID); if (penjualan == null) { throw new ArgumentException("Penjualan ID invalid"); } // nomor referensi penjualan hanya boleh untuk jenis lunas biaya var jenisBiaya = _jenisBiayaDal.GetData(jenisLunas.JenisBiayaID); if (jenisBiaya == null) { throw new ArgumentException("Penjualan hanya diisi jika Biaya"); } } } using (var trans = TransHelper.NewScope()) { // generate id (jika baru) if (model.LunasKasBonID.Trim() == "") { model.LunasKasBonID = GenNewID(); } // update id di detil; var noUrut = 1; foreach (var item in model.ListLunas) { item.LunasKasBonID = model.LunasKasBonID; item.LunasKasBonDetilID = model.LunasKasBonID + '-' + noUrut.ToString().PadLeft(2, '0'); noUrut++; } // hapus data lama _lunasKasBonDal.Delete(model.LunasKasBonID); _lunasKasBonDetilDal.Delete(model.LunasKasBonID); // simpan data baru _lunasKasBonDal.Insert(model); foreach (var item in model.ListLunas) { _lunasKasBonDetilDal.Insert(item); } // commit changes trans.Complete(); } return(model); }