예제 #1
0
        public void SaveTest()
        {
            var obj = new PembayaranPiutangProduk
            {
                customer_id = "c7b1ac7f-d201-474f-b018-1dc363d5d7f3",
                pengguna_id = "960a9111-a077-4e0e-a440-cef77293038a",
                tanggal     = DateTime.Today,
                keterangan  = "tesss",
                nota        = "BP-12345",
                is_tunai    = true
            };

            var listOfItemPembayaranPiutang = new List <ItemPembayaranPiutangProduk>();

            listOfItemPembayaranPiutang.Add(new ItemPembayaranPiutangProduk {
                JualProduk = new JualProduk {
                    jual_id = "376625eb-13ba-4620-bc12-e8260501b689"
                }, jual_id = "376625eb-13ba-4620-bc12-e8260501b689", nominal = 500000, keterangan = "keterangan #1"
            });
            listOfItemPembayaranPiutang.Add(new ItemPembayaranPiutangProduk {
                JualProduk = new JualProduk {
                    jual_id = "e4c2c4e7-5236-44ac-98e0-b53171bc2386"
                }, jual_id = "e4c2c4e7-5236-44ac-98e0-b53171bc2386", nominal = 700000, keterangan = "keterangan #2"
            });

            obj.item_pembayaran_piutang = listOfItemPembayaranPiutang;

            var validationError = new ValidationError();

            var result = _bll.Save(obj, false, ref validationError);

            Console.WriteLine("Error : " + validationError.Message);

            Assert.IsTrue(result != 0);

            var newObj = _bll.GetByID(obj.pembayaran_piutang_id);

            Assert.IsNotNull(newObj);
            Assert.AreEqual(obj.pembayaran_piutang_id, newObj.pembayaran_piutang_id);
            Assert.AreEqual(obj.customer_id, newObj.customer_id);
            Assert.AreEqual(obj.pengguna_id, newObj.pengguna_id);
            Assert.AreEqual(obj.tanggal, newObj.tanggal);
            Assert.AreEqual(obj.keterangan, newObj.keterangan);
            Assert.AreEqual(obj.nota, newObj.nota);
            Assert.AreEqual(obj.is_tunai, newObj.is_tunai);
        }
        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._listOfItemPembayaranPiutang);

            if (!(total > 0))
            {
                MsgHelper.MsgWarning("Anda belum melengkapi inputan data pembayaran !");
                return;
            }

            if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?"))
            {
                return;
            }

            if (_isNewData)
            {
                _pembayaranPiutang = new PembayaranPiutangProduk();
            }

            _pembayaranPiutang.pengguna_id = this._pengguna.pengguna_id;
            _pembayaranPiutang.Pengguna    = this._pengguna;
            _pembayaranPiutang.customer_id = this._customer.customer_id;
            _pembayaranPiutang.Customer    = this._customer;
            _pembayaranPiutang.nota        = txtNota.Text;
            _pembayaranPiutang.tanggal     = dtpTanggal.Value;
            _pembayaranPiutang.keterangan  = txtKeterangan.Text;

            _pembayaranPiutang.item_pembayaran_piutang = this._listOfItemPembayaranPiutang.Where(f => f.JualProduk != null).ToList();

            if (!_isNewData) // update
            {
                _pembayaranPiutang.item_pembayaran_piutang_deleted = _listOfItemPembayaranPiutangDeleted.ToList();
            }

            var result          = 0;
            var validationError = new ValidationError();

            using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0)))
            {
                if (_isNewData)
                {
                    result = _bll.Save(_pembayaranPiutang, false, ref validationError);
                }
                else
                {
                    result = _bll.Update(_pembayaranPiutang, false, ref validationError);
                }

                if (result > 0)
                {
                    Listener.Ok(this, _isNewData, _pembayaranPiutang);

                    _customer = null;
                    _listOfItemPembayaranPiutang.Clear();
                    _listOfItemPembayaranPiutangDeleted.Clear();

                    this.Close();
                }
                else
                {
                    if (validationError.Message.NullToString().Length > 0)
                    {
                        MsgHelper.MsgWarning(validationError.Message);
                        base.SetFocusObject(validationError.PropertyName, this);
                    }
                    else
                    {
                        MsgHelper.MsgUpdateError();
                    }
                }
            }
        }