protected override void Simpan() { if (this._supplier == null || txtSupplier.Text.Length == 0) { MsgHelper.MsgWarning("'Supplier' tidak boleh kosong !"); txtSupplier.Focus(); return; } var total = SumGrid(this._listOfItemBeli); if (!(total > 0)) { MsgHelper.MsgWarning("Anda belum melengkapi inputan data produk !"); return; } if (rdoKredit.Checked) { if (!DateTimeHelper.IsValidRangeTanggal(dtpTanggal.Value, dtpTanggalTempo.Value)) { MsgHelper.MsgNotValidRangeTanggal(); return; } } if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { return; } if (_isNewData) { _beli = new BeliProduk(); } _beli.pengguna_id = this._pengguna.pengguna_id; _beli.Pengguna = this._pengguna; _beli.supplier_id = this._supplier.supplier_id; _beli.Supplier = this._supplier; _beli.nota = txtNota.Text; _beli.tanggal = dtpTanggal.Value; _beli.tanggal_tempo = DateTimeHelper.GetNullDateTime(); _beli.is_tunai = rdoTunai.Checked; if (rdoKredit.Checked) // pembelian kredit { _beli.tanggal_tempo = dtpTanggalTempo.Value; } _beli.ppn = NumberHelper.StringToDouble(txtPPN.Text); _beli.diskon = NumberHelper.StringToDouble(txtDiskon.Text); _beli.keterangan = txtKeterangan.Text; _beli.item_beli = this._listOfItemBeli.Where(f => f.Produk != null).ToList(); foreach (var item in _beli.item_beli) { if (!(item.harga > 0)) { item.harga = item.Produk.harga_beli; } } if (!_isNewData) // update { _beli.item_beli_deleted = _listOfItemBeliDeleted; } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { if (_isNewData) { result = _bll.Save(_beli, ref validationError); } else { result = _bll.Update(_beli, ref validationError); } if (result > 0) { try { if (chkCetakNotaBeli.Checked) { CetakNota(_beli.beli_produk_id); } } catch { } Listener.Ok(this, _isNewData, _beli); _supplier = null; _listOfItemBeli.Clear(); _listOfItemBeliDeleted.Clear(); this.Close(); } else { if (validationError.Message.NullToString().Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }
public void SaveTest() { var obj = new BeliProduk { pengguna_id = "00b5acfa-b533-454b-8dfd-e7881edd180f", supplier_id = "e6201c8e-74e3-467c-a463-c8ea1763668e", nota = "12345", tanggal = DateTime.Today, ppn = 15000, diskon = 5000, keterangan = "pembelian tunai" }; var listOfItemBeli = new List <ItemBeliProduk>(); listOfItemBeli.Add(new ItemBeliProduk { Produk = new Produk { produk_id = "eafc755f-cab6-4066-a793-660fcfab20d0" }, produk_id = "eafc755f-cab6-4066-a793-660fcfab20d0", harga = 53000, jumlah = 5, diskon = 2 }); listOfItemBeli.Add(new ItemBeliProduk { Produk = new Produk { produk_id = "6e587b32-9d87-4ec3-8e7c-ce15c7b0aecd" }, produk_id = "6e587b32-9d87-4ec3-8e7c-ce15c7b0aecd", harga = 50000, jumlah = 10, diskon = 0 }); listOfItemBeli.Add(new ItemBeliProduk { Produk = new Produk { produk_id = "7f09a4aa-e660-4de3-a3aa-4b3244675f9f" }, produk_id = "7f09a4aa-e660-4de3-a3aa-4b3244675f9f", harga = 70000, jumlah = 15, diskon = 5 }); obj.item_beli = listOfItemBeli; // menghubungkan beli dan item beli var validationError = new ValidationError(); var result = _bll.Save(obj, ref validationError); Console.WriteLine("Error : " + validationError.Message); Assert.IsTrue(result != 0); // tes hasil penyimpanan ke tabel beli var newObj = _bll.GetByID(obj.beli_produk_id); Assert.IsNotNull(newObj); Assert.AreEqual(obj.beli_produk_id, newObj.beli_produk_id); Assert.AreEqual(obj.pengguna_id, newObj.pengguna_id); Assert.AreEqual(obj.supplier_id, newObj.supplier_id); Assert.AreEqual(obj.nota, newObj.nota); Assert.AreEqual(obj.tanggal, newObj.tanggal); Assert.AreEqual(obj.tanggal_tempo, newObj.tanggal_tempo); Assert.AreEqual(obj.ppn, newObj.ppn); Assert.AreEqual(obj.diskon, newObj.diskon); Assert.AreEqual(obj.total_nota, newObj.total_nota); //Assert.AreEqual(obj.total_pelunasan, newObj.total_pelunasan); Assert.AreEqual(obj.keterangan, newObj.keterangan); // tes hasil penyimpanan ke tabel item beli Assert.AreEqual(3, newObj.item_beli.Count); var index = 0; foreach (var itemBeli in newObj.item_beli) { Assert.AreEqual(listOfItemBeli[index].produk_id, itemBeli.produk_id); Assert.AreEqual(listOfItemBeli[index].harga, itemBeli.harga); Assert.AreEqual(listOfItemBeli[index].jumlah, itemBeli.jumlah); Assert.AreEqual(listOfItemBeli[index].diskon, itemBeli.diskon); index++; } }