Beispiel #1
0
        private double GetTotalNota(ReturJualProduk obj)
        {
            var total = obj.item_retur.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted)
                        .Sum(f => f.jumlah_retur * f.harga_jual);

            return(total);
        }
Beispiel #2
0
        private double GetTotalNota(ReturJualProduk obj)
        {
            var total = obj.item_retur.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted)
                        .Sum(f => f.jumlah_retur * f.harga_jual);

            return(Math.Round(total, MidpointRounding.AwayFromZero));
        }
Beispiel #3
0
        public int Update(ReturJualProduk obj)
        {
            var result = 0;

            try
            {
                _context.BeginTransaction();

                var transaction = _context.transaction;

                obj.total_nota = GetTotalNota(obj);

                // update header
                result = _context.db.Update <ReturJualProduk>(obj, transaction) ? 1 : 0;

                // delete detail
                foreach (var item in obj.item_retur_deleted)
                {
                    result = _context.db.Delete <ItemReturJualProduk>(item, transaction) ? 1 : 0;
                }

                // insert/update detail
                foreach (var item in obj.item_retur.Where(f => f.Produk != null))
                {
                    item.retur_jual_id = obj.retur_jual_id;
                    item.pengguna_id   = obj.pengguna_id;

                    if (item.entity_state == EntityState.Added)
                    {
                        item.item_retur_jual_id = _context.GetGUID();
                        _context.db.Insert <ItemReturJualProduk>(item, transaction);

                        result = 1;
                    }
                    else if (item.entity_state == EntityState.Modified)
                    {
                        result = _context.db.Update <ItemReturJualProduk>(item, transaction) ? 1 : 0;
                    }

                    // update entity state
                    item.entity_state = EntityState.Unchanged;
                }

                _context.Commit();

                LogicalThreadContext.Properties["NewValue"] = obj.ToJson();
                _log.Info("Update data");

                result = 1;
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
Beispiel #4
0
        public ReturJualProduk GetByID(string id)
        {
            ReturJualProduk obj = null;

            using (IDapperContext context = new DapperContext())
            {
                _unitOfWork = new UnitOfWork(context, _log);
                obj         = _unitOfWork.ReturJualProdukRepository.GetByID(id);
            }

            return(obj);
        }
Beispiel #5
0
        public int Delete(ReturJualProduk obj)
        {
            var result = 0;

            using (IDapperContext context = new DapperContext())
            {
                _unitOfWork = new UnitOfWork(context, _log);
                result      = _unitOfWork.ReturJualProdukRepository.Delete(obj);
            }

            return(result);
        }
Beispiel #6
0
        public int Update(ReturJualProduk obj)
        {
            var result = 0;

            using (IDapperContext context = new DapperContext())
            {
                IUnitOfWork uow = new UnitOfWork(context, _log);
                result = uow.ReturJualProdukRepository.Update(obj);
            }

            return(result);
        }
Beispiel #7
0
        public FrmEntryReturPenjualanProduk(string header, ReturJualProduk retur, IReturJualProdukBll bll)
            : base()
        {
            InitializeComponent();
            ColorManagerHelper.SetTheme(this, this);

            base.SetHeader(header);
            base.SetButtonSelesaiToBatal();
            this._bll      = bll;
            this._retur    = retur;
            this._customer = retur.Customer;
            this._jual     = retur.JualProduk;
            this._log      = MainProgram.log;
            this._pengguna = MainProgram.pengguna;

            txtNota.Text    = this._retur.nota;
            txtNota.Enabled = false;

            dtpTanggal.Value   = (DateTime)this._retur.tanggal;
            txtCustomer.Text   = this._customer.nama_customer;
            txtKeterangan.Text = this._retur.keterangan;

            if (this._jual != null)
            {
                txtNotaJual.Text    = this._jual.nota;
                txtNotaJual.Enabled = false;

                LoadItemJual(this._jual);
            }

            // simpan data lama
            _listOfItemReturOld.Clear();
            foreach (var item in this._retur.item_retur)
            {
                _listOfItemReturOld.Add(new ItemReturJualProduk
                {
                    item_retur_jual_id = item.item_retur_jual_id,
                    jumlah_retur       = item.jumlah_retur,
                    harga_jual         = item.harga_jual
                });
            }

            _listOfItemRetur = this._retur.item_retur;
            _listOfItemRetur.Add(new ItemReturJualProduk()); // add dummy objek

            InitGridControl(gridControl);

            RefreshTotal();
        }
Beispiel #8
0
        public void DeleteTest()
        {
            var obj = new ReturJualProduk
            {
                retur_jual_id = "a1597295-c11d-4ea2-b074-e8c6369bf028"
            };

            var result = _bll.Delete(obj);

            Assert.IsTrue(result != 0);

            var deletedObj = _bll.GetByID(obj.retur_jual_id);

            Assert.IsNull(deletedObj);
        }
        public int Delete(ReturJualProduk obj)
        {
            var result = 0;

            try
            {
                result = _context.db.Delete <ReturJualProduk>(obj) ? 1 : 0;
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
Beispiel #10
0
        public int Update(ReturJualProduk obj, ref ValidationError validationError)
        {
            var validatorResults = _validator.Validate(obj);

            if (!validatorResults.IsValid)
            {
                foreach (var failure in validatorResults.Errors)
                {
                    validationError.Message      = failure.ErrorMessage;
                    validationError.PropertyName = failure.PropertyName;
                    return(0);
                }
            }

            return(Update(obj));
        }
Beispiel #11
0
        public int Save(ReturJualProduk obj)
        {
            var result = 0;

            try
            {
                _context.BeginTransaction();

                var transaction = _context.transaction;

                obj.retur_jual_id = _context.GetGUID();

                obj.total_nota = GetTotalNota(obj);

                // insert header
                _context.db.Insert <ReturJualProduk>(obj, transaction);

                // insert detil
                foreach (var item in obj.item_retur.Where(f => f.Produk != null))
                {
                    if (item.produk_id.Length > 0)
                    {
                        item.item_retur_jual_id = _context.GetGUID();
                        item.retur_jual_id      = obj.retur_jual_id;
                        item.pengguna_id        = obj.pengguna_id;

                        _context.db.Insert <ItemReturJualProduk>(item, transaction);

                        // update entity state
                        item.entity_state = EntityState.Unchanged;
                    }
                }

                _context.Commit();

                LogicalThreadContext.Properties["NewValue"] = obj.ToJson();
                _log.Info("Tambah data");

                result = 1;
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
Beispiel #12
0
        public void SaveTest()
        {
            var obj = new ReturJualProduk
            {
                jual_id     = "376625eb-13ba-4620-bc12-e8260501b689",
                customer_id = "c7b1ac7f-d201-474f-b018-1dc363d5d7f3",
                nota        = _bll.GetLastNota(),
                tanggal     = DateTime.Today,
                keterangan  = "keterangan header"
            };

            var listOfItemRetur = new List <ItemReturJualProduk>();

            listOfItemRetur.Add(new ItemReturJualProduk {
                item_jual_id = "3db2b20c-2e31-4934-b04a-a77f7ff85419", Produk = new Produk {
                    produk_id = "eafc755f-cab6-4066-a793-660fcfab20d0"
                }, produk_id = "eafc755f-cab6-4066-a793-660fcfab20d0", harga_jual = 53000, jumlah = 5, jumlah_retur = 2
            });
            listOfItemRetur.Add(new ItemReturJualProduk {
                item_jual_id = "7ea1f32f-b47f-4945-a7ed-3e6da34f5108", Produk = new Produk {
                    produk_id = "6e587b32-9d87-4ec3-8e7c-ce15c7b0aecd"
                }, produk_id = "6e587b32-9d87-4ec3-8e7c-ce15c7b0aecd", harga_jual = 50000, jumlah = 10, jumlah_retur = 5
            });

            obj.item_retur = listOfItemRetur; // menghubungkan retur dan item retur

            var validationError = new ValidationError();

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

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

            Assert.IsTrue(result != 0);

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

            Assert.IsNotNull(newObj);
            Assert.AreEqual(obj.retur_jual_id, newObj.retur_jual_id);
            Assert.AreEqual(obj.jual_id, newObj.jual_id);
            Assert.AreEqual(obj.pengguna_id, newObj.pengguna_id);
            Assert.AreEqual(obj.customer_id, newObj.customer_id);
            Assert.AreEqual(obj.nota, newObj.nota);
            Assert.AreEqual(obj.tanggal, newObj.tanggal);
            Assert.AreEqual(obj.keterangan, newObj.keterangan);
            Assert.AreEqual(obj.total_nota, newObj.total_nota);
        }
Beispiel #13
0
        public int Delete(ReturJualProduk obj)
        {
            var result = 0;

            try
            {
                result = _context.db.Delete <ReturJualProduk>(obj) ? 1 : 0;

                if (result > 0)
                {
                    LogicalThreadContext.Properties["OldValue"] = obj.ToJson();
                    _log.Info("Hapus data");
                }
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
Beispiel #14
0
        public ReturJualProduk GetByID(string id)
        {
            ReturJualProduk obj = null;

            try
            {
                _sql = SQL_TEMPLATE.Replace("{WHERE}", "WHERE t_retur_jual_produk.retur_jual_id = @id");
                _sql = _sql.Replace("{ORDER BY}", "");

                obj = MappingRecordToObject(_sql, new { id }).SingleOrDefault();

                if (obj != null)
                {
                    // load item retur
                    obj.item_retur = GetItemRetur(obj.retur_jual_id);
                }
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(obj);
        }
Beispiel #15
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._listOfItemRetur);

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

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

            if (_isNewData)
            {
                _retur = new ReturJualProduk();
            }

            _retur.jual_id     = this._jual.jual_id;
            _retur.JualProduk  = this._jual;
            _retur.pengguna_id = this._pengguna.pengguna_id;
            _retur.Pengguna    = this._pengguna;
            _retur.customer_id = this._customer.customer_id;
            _retur.Customer    = this._customer;
            _retur.nota        = txtNota.Text;
            _retur.tanggal     = dtpTanggal.Value;
            _retur.keterangan  = txtKeterangan.Text;

            _retur.item_retur = this._listOfItemRetur.Where(f => f.Produk != null).ToList();

            if (!_isNewData) // update
            {
                _retur.item_retur_deleted = _listOfItemReturDeleted;
            }

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

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

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

                    _customer = null;
                    _listOfItemRetur.Clear();
                    _listOfItemReturDeleted.Clear();

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