Exemplo n.º 1
0
        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++;
            }
        }
Exemplo n.º 2
0
        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();
                    }
                }
            }
        }