private void SetItemBayar(GridControl grid, int rowIndex, int colIndex, BeliProduk beli, double nominal = 0, string keterangan = "") { ItemPembayaranHutangProduk itemBayar; if (_isNewData) { itemBayar = new ItemPembayaranHutangProduk(); } else { itemBayar = _listOfItemPembayaranHutang[rowIndex - 1]; if (itemBayar.entity_state == EntityState.Unchanged) { itemBayar.entity_state = EntityState.Modified; } } itemBayar.beli_produk_id = beli.beli_produk_id; itemBayar.BeliProduk = beli; itemBayar.nominal = nominal; itemBayar.keterangan = keterangan; _listOfItemPembayaranHutang[rowIndex - 1] = itemBayar; }
public BeliProduk GetByID(string id) { BeliProduk obj = null; try { _sql = SQL_TEMPLATE.Replace("{WHERE}", "WHERE t_beli_produk.beli_produk_id = @id"); _sql = _sql.Replace("{ORDER BY}", ""); _sql = _sql.Replace("{OFFSET}", ""); obj = MappingRecordToObject(_sql, new { id }).SingleOrDefault(); if (obj != null) { // load item beli obj.item_beli = GetItemBeli(obj.beli_produk_id); } } catch (Exception ex) { _log.Error("Error:", ex); } return(obj); }
private double GetTotalNota(BeliProduk obj) { var total = obj.item_beli.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted) .Sum(f => (f.jumlah - f.jumlah_retur) * (f.harga - (f.diskon / 100 * f.harga))); return(Math.Round(total, MidpointRounding.AwayFromZero)); }
public int Update(BeliProduk obj) { var result = 0; if (_isUseWebAPI) { foreach (var item in obj.item_beli.Where(f => f.entity_state == EntityState.Added)) { item.item_beli_produk_id = Guid.NewGuid().ToString(); } _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); result = _unitOfWork.BeliProdukRepository.Update(obj); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); result = _unitOfWork.BeliProdukRepository.Update(obj); } } return(result); }
public int Save(BeliProduk obj) { var result = 0; if (_isUseWebAPI) { obj.beli_produk_id = Guid.NewGuid().ToString(); foreach (var item in obj.item_beli) { item.item_beli_produk_id = Guid.NewGuid().ToString(); } _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); result = _unitOfWork.BeliProdukRepository.Save(obj); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); result = _unitOfWork.BeliProdukRepository.Save(obj); } } return(result); }
private double GetTotalNota(BeliProduk obj) { var total = obj.item_beli.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted) .Sum(f => (f.jumlah - f.jumlah_retur) * (f.harga - (f.diskon / 100 * f.harga))); total = (int)total; return(total); }
private double GetTotalNota(BeliProduk obj) { var total = obj.item_beli.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted) .Sum(f => f.jumlah * f.harga); total = Math.Ceiling(total); return(total); }
public int Save(BeliProduk obj) { var result = 0; try { _context.BeginTransaction(); var transaction = _context.transaction; obj.beli_produk_id = _context.GetGUID(); obj.total_nota = GetTotalNota(obj); // insert header _context.db.Insert <BeliProduk>(obj, transaction); // insert detail foreach (var item in obj.item_beli.Where(f => f.Produk != null)) { if (item.produk_id.Length > 0) { item.item_beli_produk_id = _context.GetGUID(); item.beli_produk_id = obj.beli_produk_id; item.pengguna_id = obj.pengguna_id; _context.db.Insert <ItemBeliProduk>(item, transaction); // update entity state item.entity_state = EntityState.Unchanged; } } // jika pembelian tunai, langsung insert ke pembayaran hutang if (obj.tanggal_tempo.IsNull()) { result = SavePembayaranHutang(obj); if (result > 0) { obj.total_pelunasan = obj.grand_total; } } _context.Commit(); LogicalThreadContext.Properties["NewValue"] = obj.ToJson(); _log.Info("Tambah data"); result = 1; } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
/// <summary> /// Method khusus untuk menyimpan pembayaran hutang pembelian tunai /// </summary> /// <param name="obj"></param> /// <returns></returns> private int SavePembayaranHutang(BeliProduk obj) { PembayaranHutangProduk pembayaranHutang; ItemPembayaranHutangProduk itemPembayaranHutang; IPembayaranHutangProdukRepository pembayaranHutangRepo = new PembayaranHutangProdukRepository(_context, _log); var result = 0; // set detail itemPembayaranHutang = pembayaranHutangRepo.GetByBeliID(obj.beli_produk_id); if (itemPembayaranHutang != null) // sudah ada pelunasan { itemPembayaranHutang.nominal = obj.grand_total; itemPembayaranHutang.BeliProduk = new BeliProduk { beli_produk_id = itemPembayaranHutang.beli_produk_id }; itemPembayaranHutang.entity_state = EntityState.Modified; // set header by detail pembayaranHutang = itemPembayaranHutang.PembayaranHutangProduk; pembayaranHutang.is_tunai = obj.is_tunai; // set item pembayaran pembayaranHutang.item_pembayaran_hutang.Add(itemPembayaranHutang); result = pembayaranHutangRepo.Update(pembayaranHutang, true); } else // belum ada pelunasan hutang { pembayaranHutang = new PembayaranHutangProduk(); // set header pembayaranHutang.supplier_id = obj.supplier_id; pembayaranHutang.pengguna_id = obj.pengguna_id; pembayaranHutang.tanggal = obj.tanggal; pembayaranHutang.keterangan = "Pembelian tunai produk"; pembayaranHutang.is_tunai = obj.is_tunai; // set item itemPembayaranHutang = new ItemPembayaranHutangProduk(); itemPembayaranHutang.beli_produk_id = obj.beli_produk_id; itemPembayaranHutang.BeliProduk = obj; itemPembayaranHutang.nominal = obj.grand_total; // GetTotalNotaSetelahDiskonDanPPN(obj); itemPembayaranHutang.keterangan = string.Empty; // set item pembayaran pembayaranHutang.item_pembayaran_hutang.Add(itemPembayaranHutang); // simpan item pembayaran result = pembayaranHutangRepo.Save(pembayaranHutang, true); } return(result); }
public int Save(BeliProduk obj) { var result = 0; using (IDapperContext context = new DapperContext()) { IUnitOfWork uow = new UnitOfWork(context, _log); result = uow.BeliProdukRepository.Save(obj); } return(result); }
public BeliProduk GetByID(string id) { BeliProduk obj = null; using (IDapperContext context = new DapperContext()) { IUnitOfWork uow = new UnitOfWork(context, _log); obj = uow.BeliProdukRepository.GetByID(id); } return(obj); }
public FrmEntryPembelianProduk(string header, BeliProduk beli, IBeliProdukBll bll) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); base.SetButtonSelesaiToBatal(); this._bll = bll; this._beli = beli; this._supplier = beli.Supplier; this._log = MainProgram.log; this._pengguna = MainProgram.pengguna; this._profil = MainProgram.profil; this._pengaturanUmum = MainProgram.pengaturanUmum; txtNota.Text = this._beli.nota; dtpTanggal.Value = (DateTime)this._beli.tanggal; dtpTanggalTempo.Value = dtpTanggal.Value; chkCetakNotaBeli.Checked = this._pengaturanUmum.is_auto_print; if (!this._beli.tanggal_tempo.IsNull()) { rdoKredit.Checked = true; dtpTanggalTempo.Value = (DateTime)this._beli.tanggal_tempo; } txtSupplier.Text = this._supplier.nama_supplier; txtKeterangan.Text = this._beli.keterangan; txtDiskon.Text = this._beli.diskon.ToString(); txtPPN.Text = this._beli.ppn.ToString(); // simpan data lama _listOfItemBeliOld.Clear(); foreach (var item in this._beli.item_beli) { _listOfItemBeliOld.Add(new ItemBeliProduk { item_beli_produk_id = item.item_beli_produk_id, jumlah = item.jumlah, harga = item.harga }); } _listOfItemBeli = this._beli.item_beli; _listOfItemBeli.Add(new ItemBeliProduk()); // add dummy objek InitGridControl(gridControl); RefreshTotal(); }
public FrmEntryReturPembelianProduk(string header, ReturBeliProduk retur, IReturBeliProdukBll bll) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); base.SetButtonSelesaiToBatal(); this._bll = bll; this._retur = retur; this._supplier = retur.Supplier; this._beli = retur.BeliProduk; this._log = MainProgram.log; this._pengguna = MainProgram.pengguna; txtNota.Text = this._retur.nota; txtNota.Enabled = false; dtpTanggal.Value = (DateTime)this._retur.tanggal; txtSupplier.Text = this._supplier.nama_supplier; txtKeterangan.Text = this._retur.keterangan; if (this._beli != null) { txtNotaBeli.Text = this._beli.nota; txtNotaBeli.Enabled = false; LoadItemBeli(this._beli); } // simpan data lama _listOfItemReturOld.Clear(); foreach (var item in this._retur.item_retur) { _listOfItemReturOld.Add(new ItemReturBeliProduk { item_retur_beli_produk_id = item.item_retur_beli_produk_id, jumlah_retur = item.jumlah_retur, harga = item.harga }); } _listOfItemRetur = this._retur.item_retur; _listOfItemRetur.Add(new ItemReturBeliProduk()); // add dummy objek InitGridControl(gridControl); RefreshTotal(); }
public int Delete(BeliProduk obj) { var result = 0; try { result = _context.db.Delete <BeliProduk>(obj) ? 1 : 0; } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
public void DeleteTest() { var obj = new BeliProduk { beli_produk_id = "9fdd5459-f9cb-4361-bce7-7edd32f4eb13" }; var result = _bll.Delete(obj); Assert.IsTrue(result != 0); var deletedObj = _bll.GetByID(obj.beli_produk_id); Assert.IsNull(deletedObj); }
public FrmLookupHistoriPembayaran(string header, BeliProduk beli, IList <ItemPembayaranHutangProduk> listOfHistoriPembayaran) : this(header) { this.groupBox1.Text = " [ Informasi Pembelian ] "; this.label3.Text = "Supplier"; this._listOfHistoriPembayaranHutang = listOfHistoriPembayaran; this._paymentType = PaymentHistoryType.PembayaranHutang; txtTanggal.Text = DateTimeHelper.DateToString(beli.tanggal); txtNota.Text = beli.nota; txtCustomerOrSupplier.Text = beli.Supplier.nama_supplier; txtTotal.Text = NumberHelper.NumberToString(SumGrid(listOfHistoriPembayaran)); InitGridList(); }
public int Save(BeliProduk 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(Save(obj)); }
/// <summary> /// Method untuk menghapus pembayaran hutang jika terjadi perubahan status nota dari tunai ke kredit /// </summary> /// <param name="obj"></param> /// <returns></returns> private int HapusPembayaranHutang(BeliProduk obj) { PembayaranHutangProduk pembayaranHutang; ItemPembayaranHutangProduk itemPembayaranHutang; IPembayaranHutangProdukRepository pembayaranHutangRepo = new PembayaranHutangProdukRepository(_context, _log); var result = 0; // set detail itemPembayaranHutang = pembayaranHutangRepo.GetByBeliID(obj.beli_produk_id); if (itemPembayaranHutang != null) { pembayaranHutang = itemPembayaranHutang.PembayaranHutangProduk; result = pembayaranHutangRepo.Delete(pembayaranHutang); } return(result); }
public int Delete(BeliProduk 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 int Delete(BeliProduk obj) { var result = 0; if (_isUseWebAPI) { _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); result = _unitOfWork.BeliProdukRepository.Delete(obj); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); result = _unitOfWork.BeliProdukRepository.Delete(obj); } } return(result); }
public BeliProduk GetByID(string id) { BeliProduk obj = null; if (_isUseWebAPI) { _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); obj = _unitOfWork.BeliProdukRepository.GetByID(id); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); obj = _unitOfWork.BeliProdukRepository.GetByID(id); } } return(obj); }
public BeliProduk GetByID(string id) { BeliProduk obj = null; try { var api = string.Format("get_by_id?id={0}", id); var response = RestSharpHelper <OpenRetailWebApiGetResponse <BeliProduk> > .GetRequest(_apiUrl, api).Data; if (response.Results.Count > 0) { obj = response.Results[0]; } } catch (Exception ex) { _log.Error("Error:", ex); } return(obj); }
public int Delete(BeliProduk obj) { var result = 0; try { result = _context.db.Delete <BeliProduk>(obj) ? 1 : 0; if (result > 0) { LogicalThreadContext.Properties["OldValue"] = obj.ToJson(); _log.Info("Hapus data"); } } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
public int Update(BeliProduk obj) { var result = 0; try { obj.tanggal = obj.tanggal.ToUtc(); var api = "update"; var response = RestSharpHelper <OpenRetailWebApiPostResponse> .PostRequest(_apiUrl, api, obj); result = Convert.ToInt32(response.Results); if (result > 0) { obj.total_nota = GetTotalNota(obj); // jika terjadi perubahan status nota dari tunai ke kredit if (obj.tanggal_tempo_old.IsNull() && !obj.tanggal_tempo.IsNull()) { obj.total_pelunasan = 0; } else if (obj.tanggal_tempo.IsNull()) // jika penjualan tunai, langsung update ke pembayaran piutang { obj.total_pelunasan = obj.grand_total; } foreach (var item in obj.item_beli.Where(f => f.Produk != null)) { item.entity_state = EntityState.Unchanged; } } } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
public void Ok(object sender, object data) { if (data is ItemBeliProduk) // pencarian produk baku { var itemBeli = (ItemBeliProduk)data; var produk = itemBeli.Produk; if (!IsExist(produk.produk_id)) { SetItemProduk(this.gridControl, _rowIndex, itemBeli, itemBeli.jumlah - itemBeli.jumlah_retur, itemBeli.harga); this.gridControl.Refresh(); RefreshTotal(); GridListControlHelper.SetCurrentCell(this.gridControl, _rowIndex, _colIndex + 1); RefreshTotal(); } else { MsgHelper.MsgWarning("Data produk sudah diinputkan"); GridListControlHelper.SelectCellText(this.gridControl, _rowIndex, _colIndex); } } else if (data is Supplier) // pencarian Customer { this._supplier = (Supplier)data; txtSupplier.Text = this._supplier.nama_supplier; KeyPressHelper.NextFocus(); } else if (data is BeliProduk) // pencarian data jual { IBeliProdukBll bll = new BeliProdukBll(_log); this._beli = (BeliProduk)data; this._beli.item_beli = bll.GetItemBeli(this._beli.beli_produk_id).ToList(); txtNotaBeli.Text = this._beli.nota; KeyPressHelper.NextFocus(); } }
private void txtNotaBeli_KeyPress(object sender, KeyPressEventArgs e) { if (KeyPressHelper.IsEnter(e)) { if (this._supplier == null || txtSupplier.Text.Length == 0) { MsgHelper.MsgWarning("Maaf isian data belum lengkap !"); txtSupplier.Focus(); return; } var nota = ((TextBox)sender).Text; IBeliProdukBll bll = new BeliProdukBll(_log); var listOfBeli = bll.GetNotaSupplier(this._supplier.supplier_id, nota); if (listOfBeli.Count == 0) { MsgHelper.MsgWarning("Data nota beli tidak ditemukan"); txtNotaBeli.Focus(); txtNotaBeli.SelectAll(); } else if (listOfBeli.Count == 1) { _beli = listOfBeli[0]; _beli.item_beli = bll.GetItemBeli(_beli.beli_produk_id).ToList(); txtNotaBeli.Text = _beli.nota; KeyPressHelper.NextFocus(); } else // data lebih dari satu { var frmLookup = new FrmLookupNota("Data Nota Pembelian", listOfBeli); frmLookup.Listener = this; frmLookup.ShowDialog(); } } }
public int Save(BeliProduk obj) { var result = 0; try { obj.tanggal = obj.tanggal.ToUtc(); var api = "save"; var response = RestSharpHelper <OpenRetailWebApiPostResponse> .PostRequest(_apiUrl, api, obj); result = Convert.ToInt32(response.Results); if (result > 0) { obj.total_nota = GetTotalNota(obj); // jika pembelian tunai, langsung insert ke pembayaran hutang if (obj.tanggal_tempo.IsNull()) { obj.total_pelunasan = obj.grand_total; } foreach (var item in obj.item_beli.Where(f => f.Produk != null)) { item.entity_state = EntityState.Unchanged; } } } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
protected override void Simpan() { if (this._supplier == null || txtSupplier.Text.Length == 0) { MsgHelper.MsgWarning("'Supplier' tidak boleh kosong !"); txtSupplier.Focus(); return; } var total = SumGrid(this._listOfItemBeli); 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; } } if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { return; } if (_isNewData) { _beli = new BeliProduk(); } _beli.pengguna_id = this._pengguna.pengguna_id; _beli.Pengguna = this._pengguna; _beli.supplier_id = this._supplier.supplier_id; _beli.Supplier = this._supplier; _beli.nota = txtNota.Text; _beli.tanggal = dtpTanggal.Value; _beli.tanggal_tempo = DateTimeHelper.GetNullDateTime(); _beli.is_tunai = rdoTunai.Checked; if (rdoKredit.Checked) // pembelian kredit { _beli.tanggal_tempo = dtpTanggalTempo.Value; } _beli.ppn = NumberHelper.StringToDouble(txtPPN.Text); _beli.diskon = NumberHelper.StringToDouble(txtDiskon.Text); _beli.keterangan = txtKeterangan.Text; _beli.item_beli = this._listOfItemBeli.Where(f => f.Produk != null).ToList(); foreach (var item in _beli.item_beli) { if (!(item.harga > 0)) { item.harga = item.Produk.harga_beli; } } if (!_isNewData) // update { _beli.item_beli_deleted = _listOfItemBeliDeleted; } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { if (_isNewData) { result = _bll.Save(_beli, ref validationError); } else { result = _bll.Update(_beli, ref validationError); } if (result > 0) { try { if (chkCetakNotaBeli.Checked) { CetakNota(_beli.beli_produk_id); } } catch { } Listener.Ok(this, _isNewData, _beli); _supplier = null; _listOfItemBeli.Clear(); _listOfItemBeliDeleted.Clear(); this.Close(); } else { if (validationError.Message.NullToString().Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }
private void LoadItemBeli(BeliProduk beliProduk) { IBeliProdukBll bll = new BeliProdukBll(_log); _beli.item_beli = bll.GetItemBeli(_beli.beli_produk_id).ToList(); }
public int Update(BeliProduk obj) { var result = 0; try { _context.BeginTransaction(); var transaction = _context.transaction; obj.total_nota = GetTotalNota(obj); // update header result = _context.db.Update <BeliProduk>(obj, transaction) ? 1 : 0; // delete detail foreach (var item in obj.item_beli_deleted) { result = _context.db.Delete <ItemBeliProduk>(item, transaction) ? 1 : 0; } // insert/update detail foreach (var item in obj.item_beli.Where(f => f.Produk != null)) { item.beli_produk_id = obj.beli_produk_id; item.pengguna_id = obj.pengguna_id; if (item.entity_state == EntityState.Added) { item.item_beli_produk_id = _context.GetGUID(); _context.db.Insert <ItemBeliProduk>(item, transaction); result = 1; } else if (item.entity_state == EntityState.Modified) { result = _context.db.Update <ItemBeliProduk>(item, transaction) ? 1 : 0; } // update entity state item.entity_state = EntityState.Unchanged; } // jika terjadi perubahan status nota dari tunai ke kredit if (obj.tanggal_tempo_old.IsNull() && !obj.tanggal_tempo.IsNull()) { result = HapusPembayaranHutang(obj); if (result > 0) { obj.total_pelunasan = 0; } } else if (obj.tanggal_tempo.IsNull()) // jika pembelian tunai, langsung update ke pembayaran hutang { result = SavePembayaranHutang(obj); if (result > 0) { obj.total_pelunasan = obj.grand_total; } } _context.Commit(); LogicalThreadContext.Properties["NewValue"] = obj.ToJson(); _log.Info("Update data"); result = 1; } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }