public void UpdateTest() { var obj = _bll.GetByID("d1dbd28a-592f-4841-bfb6-bc41f48acf32"); obj.nota = "22222"; obj.customer_id = "576c503f-69a7-46a5-b4be-107c634db7e3"; obj.tanggal = new DateTime(2017, 1, 1); obj.tanggal_tempo = new DateTime(2017, 1, 25); obj.ppn = 20000; obj.diskon = 7500; obj.keterangan = "tesssss"; foreach (var itemJual in obj.item_jual) { itemJual.jumlah = itemJual.jumlah + 1; itemJual.harga_jual = itemJual.harga_jual + 1000; itemJual.diskon = 0; itemJual.entity_state = EntityState.Modified; } var validationError = new ValidationError(); var result = _bll.Update(obj, ref validationError); Console.WriteLine("Error : " + validationError.Message); Assert.IsTrue(result != 0); var updatedObj = _bll.GetByID(obj.jual_id); Assert.IsNotNull(updatedObj); Assert.AreEqual(obj.jual_id, updatedObj.jual_id); Assert.AreEqual(obj.pengguna_id, updatedObj.pengguna_id); Assert.AreEqual(obj.customer_id, updatedObj.customer_id); Assert.AreEqual(obj.nota, updatedObj.nota); Assert.AreEqual(obj.tanggal, updatedObj.tanggal); Assert.AreEqual(obj.tanggal_tempo, updatedObj.tanggal_tempo); Assert.AreEqual(obj.ppn, updatedObj.ppn); Assert.AreEqual(obj.diskon, updatedObj.diskon); Assert.AreEqual(obj.total_nota, updatedObj.total_nota); //Assert.AreEqual(obj.total_pelunasan, updatedObj.total_pelunasan); Assert.AreEqual(obj.keterangan, updatedObj.keterangan); // tes hasil update ke tabel item beli Assert.AreEqual(3, updatedObj.item_jual.Count); var index = 0; foreach (var itemJualUpdated in updatedObj.item_jual) { Assert.AreEqual(obj.item_jual[index].produk_id, itemJualUpdated.produk_id); Assert.AreEqual(obj.item_jual[index].harga_jual, itemJualUpdated.harga_jual); Assert.AreEqual(obj.item_jual[index].jumlah, itemJualUpdated.jumlah); Assert.AreEqual(obj.item_jual[index].diskon, itemJualUpdated.diskon); index++; } }
protected override void Simpan() { if (this._customer == null || txtCustomer.Text.Length == 0) { MsgHelper.MsgWarning("'Customer' tidak boleh kosong !"); txtCustomer.Focus(); return; } var total = SumGrid(this._listOfItemJual); 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; } total = NumberHelper.StringToDouble(lblTotal.Text); if (this._customer != null) { if (this._customer.plafon_piutang > 0) { if (!(this._customer.plafon_piutang >= (total + this._customer.sisa_piutang))) { var msg = string.Empty; if (this._customer.sisa_piutang > 0) { msg = "Maaf, maksimal plafon piutang customer '{0}' adalah : {1}" + "\nSaat ini customer '{0}' masih mempunyai piutang sebesar : {2}"; msg = string.Format(msg, this._customer.nama_customer, NumberHelper.NumberToString(this._customer.plafon_piutang), NumberHelper.NumberToString(this._customer.sisa_piutang)); } else { msg = "Maaf, maksimal plafon piutang customer '{0}' adalah : {1}"; msg = string.Format(msg, this._customer.nama_customer, NumberHelper.NumberToString(this._customer.plafon_piutang)); } MsgHelper.MsgWarning(msg); return; } } } } if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { return; } if (_isNewData) { _jual = new JualProduk(); } _jual.pengguna_id = this._pengguna.pengguna_id; _jual.Pengguna = this._pengguna; _jual.customer_id = this._customer.customer_id; _jual.Customer = this._customer; _jual.nota = txtNota.Text; _jual.tanggal = dtpTanggal.Value; _jual.tanggal_tempo = DateTimeHelper.GetNullDateTime(); _jual.is_tunai = rdoTunai.Checked; if (rdoKredit.Checked) // penjualan kredit { _jual.tanggal_tempo = dtpTanggalTempo.Value; } _jual.ppn = NumberHelper.StringToDouble(txtPPN.Text); _jual.diskon = NumberHelper.StringToDouble(txtDiskon.Text); _jual.keterangan = txtKeterangan.Text; _jual.item_jual = this._listOfItemJual.Where(f => f.Produk != null).ToList(); foreach (var item in _jual.item_jual) { if (!(item.harga_beli > 0)) { item.harga_beli = item.Produk.harga_beli; } if (!(item.harga_jual > 0)) { item.harga_jual = item.Produk.harga_jual; } } if (!_isNewData) // update { _jual.item_jual_deleted = _listOfItemJualDeleted; } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { if (_isNewData) { result = _bll.Save(_jual, ref validationError); } else { result = _bll.Update(_jual, ref validationError); } if (result > 0) { if (chkCetakNotaJual.Checked) { CetakNota(_jual.jual_id); } Listener.Ok(this, _isNewData, _jual); _customer = null; _listOfItemJual.Clear(); _listOfItemJualDeleted.Clear(); this.Close(); } else { if (validationError.Message.Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }