Esempio n. 1
0
        public void UpdateTest()
        {
            var obj = _bll.GetByID("0a6ca3a2-bfdc-4707-99b4-5f10326d8c75");

            obj.nota       = "11111";
            obj.tanggal    = new DateTime(2017, 3, 27);
            obj.keterangan = "keterangan";

            foreach (var itemPengeluaran in obj.item_pengeluaran_biaya)
            {
                itemPengeluaran.jumlah       = itemPengeluaran.jumlah + 2;
                itemPengeluaran.harga        = itemPengeluaran.harga + 1500;
                itemPengeluaran.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.pengeluaran_id);

            Assert.IsNotNull(updatedObj);
            Assert.AreEqual(obj.pengeluaran_id, updatedObj.pengeluaran_id);
            Assert.AreEqual(obj.pengguna_id, updatedObj.pengguna_id);
            Assert.AreEqual(obj.nota, updatedObj.nota);
            Assert.AreEqual(obj.tanggal, updatedObj.tanggal);
            Assert.AreEqual(obj.total, updatedObj.total);
            Assert.AreEqual(obj.keterangan, updatedObj.keterangan);
            Assert.AreEqual(obj.tanggal_sistem, updatedObj.tanggal_sistem);

            var index = 0;

            foreach (var itemJualUpdated in updatedObj.item_pengeluaran_biaya)
            {
                Assert.AreEqual(obj.item_pengeluaran_biaya[index].harga, itemJualUpdated.harga);
                Assert.AreEqual(obj.item_pengeluaran_biaya[index].jumlah, itemJualUpdated.jumlah);

                index++;
            }
        }
        protected override void Simpan()
        {
            var total = SumGrid(this._listOfItemPengeluaran);

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

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

            if (_isNewData)
            {
                _pengeluaran = new PengeluaranBiaya();
            }

            _pengeluaran.pengguna_id = this._pengguna.pengguna_id;
            _pengeluaran.Pengguna    = this._pengguna;
            _pengeluaran.nota        = txtNota.Text;
            _pengeluaran.tanggal     = dtpTanggal.Value;
            _pengeluaran.keterangan  = txtKeterangan.Text;

            _pengeluaran.item_pengeluaran_biaya = this._listOfItemPengeluaran.Where(f => f.JenisPengeluaran != null).ToList();

            if (!_isNewData) // update
            {
                _pengeluaran.item_pengeluaran_biaya_deleted = _listOfItemPengeluaranDeleted.ToList();
            }

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

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

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

                    _listOfItemPengeluaran.Clear();
                    _listOfItemPengeluaranDeleted.Clear();

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