Exemple #1
0
        public int Update(PembayaranPiutangProduk obj, bool isUpdateFromPenjualan)
        {
            var result = 0;

            try
            {
                IDbTransaction transaction = null;

                if (!isUpdateFromPenjualan)
                {
                    _context.BeginTransaction();

                    transaction = _context.transaction;
                }

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

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

                // insert/update detail
                foreach (var item in obj.item_pembayaran_piutang.Where(f => f.JualProduk != null))
                {
                    item.pembayaran_piutang_id = obj.pembayaran_piutang_id;

                    if (item.entity_state == EntityState.Added)
                    {
                        item.item_pembayaran_piutang_id = _context.GetGUID();

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

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

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

                if (!isUpdateFromPenjualan)
                {
                    _context.Commit();
                }

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

            return(result);
        }
Exemple #2
0
        public int Update(PembayaranPiutangProduk obj, bool isUpdateFromPenjualan)
        {
            var result = 0;

            try
            {
                obj.tanggal = obj.tanggal.ToUtc();

                var api      = string.Format("update?isUpdateFromPenjualan={0}", isUpdateFromPenjualan);
                var response = RestSharpHelper <OpenRetailWebApiPostResponse> .PostRequest(_apiUrl, api, obj);

                result = Convert.ToInt32(response.Results);

                if (result > 0)
                {
                    foreach (var item in obj.item_pembayaran_piutang.Where(f => f.JualProduk != null))
                    {
                        item.entity_state = EntityState.Unchanged;
                    }
                }
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
        public int Save(PembayaranPiutangProduk obj, bool isSaveFromPenjualan)
        {
            var result = 0;

            try
            {
                IDbTransaction transaction = null;

                if (!isSaveFromPenjualan)
                {
                    _context.BeginTransaction();

                    transaction = _context.transaction;
                }

                obj.pembayaran_piutang_id = _context.GetGUID();

                if (obj.nota == null || obj.nota.Length == 0)
                {
                    obj.nota = this.GetLastNota();
                }

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

                // insert detil
                foreach (var item in obj.item_pembayaran_piutang.Where(f => f.JualProduk != null))
                {
                    if (item.jual_id.Length > 0)
                    {
                        item.item_pembayaran_piutang_id = _context.GetGUID();
                        item.pembayaran_piutang_id      = obj.pembayaran_piutang_id;

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

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

                if (!isSaveFromPenjualan)
                {
                    _context.Commit();
                }

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

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

            return(result);
        }
Exemple #4
0
        /// <summary>
        /// Method khusus untuk menyimpan pembayaran penjualan tunai
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        private int SavePembayaranPiutang(JualProduk obj)
        {
            PembayaranPiutangProduk            pembayaranPiutang;
            ItemPembayaranPiutangProduk        itemPembayaranPiutang;
            IPembayaranPiutangProdukRepository pembayaranPiutangRepo = new PembayaranPiutangProdukRepository(_context, _log);

            var result = 0;

            // set detail
            itemPembayaranPiutang = pembayaranPiutangRepo.GetByJualID(obj.jual_id);
            if (itemPembayaranPiutang != null)                      // sudah ada pelunasan
            {
                itemPembayaranPiutang.nominal    = obj.grand_total; // GetTotalNotaSetelahDiskonDanPPN(obj);
                itemPembayaranPiutang.JualProduk = new JualProduk {
                    jual_id = itemPembayaranPiutang.jual_id
                };
                itemPembayaranPiutang.entity_state = EntityState.Modified;

                // set header by detail
                pembayaranPiutang          = itemPembayaranPiutang.PembayaranPiutangProduk;
                pembayaranPiutang.is_tunai = obj.is_tunai;

                // set item pembayaran
                pembayaranPiutang.item_pembayaran_piutang.Add(itemPembayaranPiutang);

                result = pembayaranPiutangRepo.Update(pembayaranPiutang, true);
            }
            else // belum ada pelunasan hutang
            {
                pembayaranPiutang = new PembayaranPiutangProduk();

                // set header
                pembayaranPiutang.customer_id = obj.customer_id;
                pembayaranPiutang.pengguna_id = obj.pengguna_id;
                pembayaranPiutang.tanggal     = obj.tanggal;
                pembayaranPiutang.keterangan  = "Penjualan tunai produk";
                pembayaranPiutang.is_tunai    = obj.is_tunai;

                // set item
                itemPembayaranPiutang            = new ItemPembayaranPiutangProduk();
                itemPembayaranPiutang.jual_id    = obj.jual_id;
                itemPembayaranPiutang.JualProduk = obj;
                itemPembayaranPiutang.nominal    = obj.grand_total;
                itemPembayaranPiutang.keterangan = string.Empty;

                // set item pembayaran
                pembayaranPiutang.item_pembayaran_piutang.Add(itemPembayaranPiutang);

                // simpan item pembayaran
                result = pembayaranPiutangRepo.Save(pembayaranPiutang, true);
            }

            return(result);
        }
Exemple #5
0
        public PembayaranPiutangProduk GetByID(string id)
        {
            PembayaranPiutangProduk obj = null;

            using (IDapperContext context = new DapperContext())
            {
                IUnitOfWork uow = new UnitOfWork(context, _log);
                obj = uow.PembayaranPiutangProdukRepository.GetByID(id);
            }

            return(obj);
        }
Exemple #6
0
        public int Delete(PembayaranPiutangProduk obj)
        {
            var result = 0;

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

            return(result);
        }
Exemple #7
0
        public void DeleteTest()
        {
            var obj = new PembayaranPiutangProduk
            {
                pembayaran_piutang_id = "72c0bace-02d0-4c80-91f2-10c08431347e"
            };

            var result = _bll.Delete(obj);

            Assert.IsTrue(result != 0);

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

            Assert.IsNull(deletedObj);
        }
Exemple #8
0
        public int Delete(PembayaranPiutangProduk obj)
        {
            var result = 0;

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

            return(result);
        }
Exemple #9
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);
        }
Exemple #10
0
        public int Delete(PembayaranPiutangProduk obj)
        {
            var result = 0;

            try
            {
                var api      = "delete";
                var response = RestSharpHelper <OpenRetailWebApiPostResponse> .PostRequest(_apiUrl, api, obj);

                result = Convert.ToInt32(response.Results);
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(result);
        }
        public FrmEntryPembayaranPiutangPenjualanProduk(string header, PembayaranPiutangProduk pembayaranPiutang, IPembayaranPiutangProdukBll bll)
            : base()
        {
            InitializeComponent();
            ColorManagerHelper.SetTheme(this, this);

            base.SetHeader(header);
            base.SetButtonSelesaiToBatal();
            this._bll = bll;
            this._pembayaranPiutang = pembayaranPiutang;
            this._customer          = pembayaranPiutang.Customer;
            this._log      = MainProgram.log;
            this._pengguna = MainProgram.pengguna;

            txtNota.Text     = this._pembayaranPiutang.nota;
            dtpTanggal.Value = (DateTime)this._pembayaranPiutang.tanggal;

            if (this._customer != null)
            {
                txtCustomer.Text = this._customer.nama_customer;
            }

            txtKeterangan.Text = this._pembayaranPiutang.keterangan;

            // simpan data lama
            _listOfItemPembayaranPiutangOld.Clear();
            foreach (var item in this._pembayaranPiutang.item_pembayaran_piutang)
            {
                _listOfItemPembayaranPiutangOld.Add(new ItemPembayaranPiutangProduk
                {
                    item_pembayaran_piutang_id = item.item_pembayaran_piutang_id,
                    nominal    = item.nominal,
                    keterangan = item.keterangan
                });
            }

            _listOfItemPembayaranPiutang = this._pembayaranPiutang.item_pembayaran_piutang;
            _listOfItemPembayaranPiutang.Add(new ItemPembayaranPiutangProduk()); // add dummy objek

            InitGridControl(gridControl);

            RefreshTotal();
        }
Exemple #12
0
        public PembayaranPiutangProduk GetByID(string id)
        {
            PembayaranPiutangProduk obj = null;

            if (_isUseWebAPI)
            {
                _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log);
                obj         = _unitOfWork.PembayaranPiutangProdukRepository.GetByID(id);
            }
            else
            {
                using (IDapperContext context = new DapperContext())
                {
                    _unitOfWork = new UnitOfWork(context, _log);
                    obj         = _unitOfWork.PembayaranPiutangProdukRepository.GetByID(id);
                }
            }

            return(obj);
        }
Exemple #13
0
        public int Delete(PembayaranPiutangProduk obj)
        {
            var result = 0;

            if (_isUseWebAPI)
            {
                _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log);
                result      = _unitOfWork.PembayaranPiutangProdukRepository.Delete(obj);
            }
            else
            {
                using (IDapperContext context = new DapperContext())
                {
                    _unitOfWork = new UnitOfWork(context, _log);
                    result      = _unitOfWork.PembayaranPiutangProdukRepository.Delete(obj);
                }
            }

            return(result);
        }
        public int Delete(PembayaranPiutangProduk obj)
        {
            var result = 0;

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

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

            return(result);
        }
Exemple #15
0
        public PembayaranPiutangProduk GetByID(string id)
        {
            PembayaranPiutangProduk obj = null;

            try
            {
                var api      = string.Format("get_by_id?id={0}", id);
                var response = RestSharpHelper <OpenRetailWebApiGetResponse <PembayaranPiutangProduk> > .GetRequest(_apiUrl, api).Data;

                if (response.Results.Count > 0)
                {
                    obj = response.Results[0];
                }
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(obj);
        }
        public PembayaranPiutangProduk GetByID(string id)
        {
            PembayaranPiutangProduk obj = null;

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

                obj = MappingRecordToObject(_sql, new { id }).SingleOrDefault();
                if (obj != null)
                {
                    obj.item_pembayaran_piutang = GetItemPembayaran(obj.pembayaran_piutang_id).ToList();
                }
            }
            catch (Exception ex)
            {
                _log.Error("Error:", ex);
            }

            return(obj);
        }
Exemple #17
0
        public int Save(PembayaranPiutangProduk obj, bool isSaveFromPenjualan, 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);
                }
            }

            var result = 0;

            if (_isUseWebAPI)
            {
                obj.pembayaran_piutang_id = Guid.NewGuid().ToString();

                foreach (var item in obj.item_pembayaran_piutang)
                {
                    item.item_pembayaran_piutang_id = Guid.NewGuid().ToString();
                }

                _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log);
                result      = _unitOfWork.PembayaranPiutangProdukRepository.Save(obj, isSaveFromPenjualan);
            }
            else
            {
                using (IDapperContext context = new DapperContext())
                {
                    _unitOfWork = new UnitOfWork(context, _log);
                    result      = _unitOfWork.PembayaranPiutangProdukRepository.Save(obj, isSaveFromPenjualan);
                }
            }

            return(result);
        }
Exemple #18
0
        public int Update(PembayaranPiutangProduk obj, bool isSaveFromPenjualan, 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);
                }
            }

            var result = 0;

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

            return(result);
        }
 public int Update(PembayaranPiutangProduk obj)
 {
     throw new NotImplementedException();
 }
        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();
                    }
                }
            }
        }