public JualProduk GetByID(string id) { JualProduk obj = null; try { _sql = SQL_TEMPLATE.Replace("{WHERE}", "WHERE t_jual_produk.jual_id = @id"); _sql = _sql.Replace("{ORDER BY}", ""); _sql = _sql.Replace("{OFFSET}", ""); obj = MappingRecordToObject(_sql, new { id }).SingleOrDefault(); if (obj != null) { // load item jual obj.item_jual = GetItemJual(obj.jual_id); } } catch (Exception ex) { _log.Error("Error:", ex); } return(obj); }
private void ResetTransaksi(bool isShowConfirm = true) { if (isShowConfirm) { var msg = "Apakah Anda ingin membatalkan transaksi saat ini ?"; if (!MsgHelper.MsgKonfirmasi(msg)) { return; } } _listOfItemJual.Clear(); _listOfItemJual.Add(new ItemJualProduk()); // add dummy objek _jual = null; gridControl.RowCount = _listOfItemJual.Count(); gridControl.Refresh(); RefreshTotal(); _isCetakStruk = true; ShowMessage(""); lblStatusBar.Text = lblStatusBar.Text.Replace("Reset Pelanggan", "Cari Pelanggan"); txtCustomer.Clear(); _customer = null; _currentNota = this._bll.GetLastNota(); ShowInfoTanggal(_currentNota); gridControl.Focus(); GridListControlHelper.SetCurrentCell(gridControl, _listOfItemJual.Count, 2); // fokus ke kolom kode produk }
public JualProduk GetListItemNotaTerakhir(string penggunaId, string mesinId) { JualProduk obj = null; try { _sql = SQL_TEMPLATE.Replace("{WHERE}", "WHERE t_jual_produk.tanggal = CURRENT_DATE AND t_jual_produk.pengguna_id = @penggunaId AND t_jual_produk.mesin_id = @mesinId"); _sql = _sql.Replace("{ORDER BY}", "ORDER BY t_jual_produk.tanggal_sistem DESC LIMIT 1"); _sql = _sql.Replace("{OFFSET}", ""); obj = MappingRecordToObject(_sql, new { penggunaId, mesinId }).SingleOrDefault(); if (obj != null) { // load item jual obj.item_jual = GetItemJual(obj.jual_id); } } catch (Exception ex) { _log.Error("Error:", ex); } return(obj); }
public int Save(JualProduk obj) { var result = 0; if (_isUseWebAPI) { obj.jual_id = Guid.NewGuid().ToString(); foreach (var item in obj.item_jual) { item.item_jual_id = Guid.NewGuid().ToString(); } _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); result = _unitOfWork.JualProdukRepository.Save(obj); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); result = _unitOfWork.JualProdukRepository.Save(obj); } } return(result); }
public int Update(JualProduk obj) { var result = 0; if (_isUseWebAPI) { foreach (var item in obj.item_jual.Where(f => f.entity_state == EntityState.Added)) { item.item_jual_id = Guid.NewGuid().ToString(); } _unitOfWork = new UnitOfWork(_isUseWebAPI, _baseUrl, _log); result = _unitOfWork.JualProdukRepository.Update(obj); } else { using (IDapperContext context = new DapperContext()) { _unitOfWork = new UnitOfWork(context, _log); result = _unitOfWork.JualProdukRepository.Update(obj); } } return(result); }
private double GetTotalNota(JualProduk obj) { var total = obj.item_jual.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted) .Sum(f => (f.jumlah - f.jumlah_retur) * (f.harga_jual - (f.diskon / 100 * f.harga_jual))); return(Math.Round(total, MidpointRounding.AwayFromZero)); }
private void CetakNotaMiniPOS(JualProduk jual) { IRAWPrinting printerMiniPos = new PrinterMiniPOS(_pengaturanUmum.nama_printer); printerMiniPos.Cetak(jual, _pengaturanUmum.list_of_header_nota_mini_pos, _pengaturanUmum.list_of_footer_nota_mini_pos, _pengaturanUmum.jumlah_karakter, _pengaturanUmum.jumlah_gulung, _customer != null, ukuranFont: _pengaturanUmum.ukuran_font); }
private void SetItemBayar(GridControl grid, int rowIndex, int colIndex, JualProduk jual, double nominal = 0, string keterangan = "") { ItemPembayaranPiutangProduk itemBayar; if (_isNewData) { itemBayar = new ItemPembayaranPiutangProduk(); } else { itemBayar = _listOfItemPembayaranPiutang[rowIndex - 1]; if (itemBayar.entity_state == EntityState.Unchanged) { itemBayar.entity_state = EntityState.Modified; } } itemBayar.jual_id = jual.jual_id; itemBayar.JualProduk = jual; itemBayar.nominal = nominal; itemBayar.keterangan = keterangan; _listOfItemPembayaranPiutang[rowIndex - 1] = itemBayar; }
private double GetTotalNota(JualProduk obj) { var total = obj.item_jual.Where(f => f.Produk != null && f.entity_state != EntityState.Deleted) .Sum(f => (f.jumlah - f.jumlah_retur) * (f.harga_jual - (f.diskon / 100 * f.harga_jual))); total = Math.Ceiling(total); return(total); }
public int Save(JualProduk obj) { var result = 0; try { _context.BeginTransaction(); var transaction = _context.transaction; obj.jual_id = _context.GetGUID(); obj.total_nota = GetTotalNota(obj); // insert header _context.db.Insert <JualProduk>(obj, transaction); // insert detail foreach (var item in obj.item_jual.Where(f => f.Produk != null)) { if (item.produk_id.Length > 0) { item.item_jual_id = _context.GetGUID(); item.jual_id = obj.jual_id; item.pengguna_id = obj.pengguna_id; _context.db.Insert <ItemJualProduk>(item, transaction); // update entity state item.entity_state = EntityState.Unchanged; } } // jika pembelian tunai, langsung insert ke pembayaran hutang if (obj.tanggal_tempo.IsNull()) { result = SavePembayaranPiutang(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); }
public FrmHapusItemTransaksi(string header, JualProduk jual) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); base.SetButtonSelesaiToBatal(); this._jual = jual; }
private void PreviewLabelNota(JualProduk jual, bool isPreview = true) { ICetakNotaBll cetakBll = new CetakNotaBll(_log); var listOfItemNota = cetakBll.GetNotaPenjualan(jual.jual_id); if (listOfItemNota.Count > 0) { var reportDataSource = new ReportDataSource { Name = "NotaPenjualan", Value = listOfItemNota }; foreach (var item in listOfItemNota) { item.label_dari1 = txtDari1.Text; item.label_dari2 = txtDari2.Text; item.label_dari3 = txtDari3.Text; item.label_kepada1 = txtKepada1.Text; item.label_kepada2 = txtKepada2.Text; item.label_kepada3 = txtKepada3.Text; item.label_kepada4 = txtKepada4.Text; if (_pengaturanUmum.is_singkat_penulisan_ongkir && item.ongkos_kirim > 0) { item.ongkos_kirim /= 1000; item.label_ongkos_kirim = item.ongkos_kirim.ToString(); } else { item.label_ongkos_kirim = NumberHelper.NumberToString(item.ongkos_kirim); } } var reportName = "RvLabelNotaPenjualan"; if (isPreview) { reportName = string.Format(_reportNameSpace, reportName); var stream = _assemblyReport.GetManifestResourceStream(reportName); this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(reportDataSource); this.reportViewer1.LocalReport.LoadReportDefinition(stream); this.reportViewer1.RefreshReport(); } else { var printReport = new ReportViewerPrintHelper(reportName, reportDataSource, printerName: _pengaturanUmum.nama_printer); printReport.Print(); } } }
private void HapusItemTransaksi() { var jual = new JualProduk(); jual.item_jual = this._listOfItemJual.Where(f => f.Produk != null).ToList(); var frmHapusTransaksi = new FrmHapusItemTransaksi("Hapus Item Transaksi", jual); frmHapusTransaksi.Listener = this; frmHapusTransaksi.ShowDialog(); }
public void Ok(object sender, object data) { if (data is Produk) // pencarian produk baku { var produk = (Produk)data; double diskon = 0; if (_customer != null) { diskon = _customer.diskon; } if (!(diskon > 0)) { diskon = produk.diskon > 0 ? produk.diskon : produk.Golongan.diskon; } SetItemProduk(this.gridControl, _rowIndex, _colIndex + 1, produk, diskon: diskon); this.gridControl.Refresh(); RefreshTotal(); if (this.gridControl.RowCount == _rowIndex) { _listOfItemJual.Add(new ItemJualProduk()); this.gridControl.RowCount = _listOfItemJual.Count; } GridListControlHelper.SetCurrentCell(this.gridControl, _rowIndex + 1, 2); // pindah kebaris berikutnya } else if (data is Customer) // pencarian customer { this._customer = (Customer)data; txtCustomer.Text = this._customer.nama_customer; KeyPressHelper.NextFocus(); } else if (data is AlamatKirim) { var alamatKirim = (AlamatKirim)data; if (this._jual == null) { this._jual = new JualProduk(); } this._jual.is_sdac = alamatKirim.is_sdac; this._jual.kirim_kepada = alamatKirim.kepada; this._jual.kirim_alamat = alamatKirim.alamat; this._jual.kirim_kecamatan = alamatKirim.kecamatan; this._jual.kirim_kelurahan = alamatKirim.kelurahan; this._jual.kirim_kota = alamatKirim.kota; this._jual.kirim_kode_pos = alamatKirim.kode_pos; this._jual.kirim_telepon = alamatKirim.telepon; } }
/// <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); }
private void CetakNotaMiniPOS(JualProduk jual) { var autocutCode = _pengaturanUmum.is_autocut ? _pengaturanUmum.autocut_code : string.Empty; var openCashDrawerCode = _pengaturanUmum.is_open_cash_drawer ? _pengaturanUmum.open_cash_drawer_code : string.Empty; IRAWPrinting printerMiniPos = new PrinterMiniPOS(_pengaturanUmum.nama_printer); printerMiniPos.Cetak(jual, _pengaturanUmum.list_of_header_nota_mini_pos, _pengaturanUmum.list_of_footer_nota_mini_pos, _pengaturanUmum.jumlah_karakter, _pengaturanUmum.jumlah_gulung, _customer != null, ukuranFont: _pengaturanUmum.ukuran_font, autocutCode: autocutCode, openCashDrawerCode: openCashDrawerCode); }
public FrmInfoNotaTerakhir(string header, JualProduk jual) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); this._jual = jual; ShowInfoNota(); InitGridList(); }
public JualProduk GetListItemNotaTerakhir(string penggunaId, string mesinId) { JualProduk obj = null; using (IDapperContext context = new DapperContext()) { IUnitOfWork uow = new UnitOfWork(context, _log); obj = uow.JualProdukRepository.GetListItemNotaTerakhir(penggunaId, mesinId); } return(obj); }
public int Save(JualProduk obj) { var result = 0; using (IDapperContext context = new DapperContext()) { IUnitOfWork uow = new UnitOfWork(context, _log); result = uow.JualProdukRepository.Save(obj); } return(result); }
public JualProduk GetByID(string id) { JualProduk obj = null; using (IDapperContext context = new DapperContext()) { IUnitOfWork uow = new UnitOfWork(context, _log); obj = uow.JualProdukRepository.GetByID(id); } return(obj); }
public FrmEntryPenjualanProduk(string header, JualProduk jual, IJualProdukBll bll) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); base.SetButtonSelesaiToBatal(); this._bll = bll; this._jual = jual; this._customer = jual.Customer; this._log = MainProgram.log; this._pengguna = MainProgram.pengguna; this._profil = MainProgram.profil; this._pengaturanUmum = MainProgram.pengaturanUmum; txtNota.Text = this._jual.nota; dtpTanggal.Value = (DateTime)this._jual.tanggal; dtpTanggalTempo.Value = dtpTanggal.Value; chkCetakNotaJual.Checked = this._pengaturanUmum.is_auto_print; if (!this._jual.tanggal_tempo.IsNull()) { rdoKredit.Checked = true; dtpTanggalTempo.Value = (DateTime)this._jual.tanggal_tempo; } txtCustomer.Text = this._customer.nama_customer; txtKeterangan.Text = this._jual.keterangan; txtOngkosKirim.Text = this._jual.ongkos_kirim.ToString(); txtDiskon.Text = this._jual.diskon.ToString(); txtPPN.Text = this._jual.ppn.ToString(); // simpan data lama _listOfItemJualOld.Clear(); foreach (var item in this._jual.item_jual) { _listOfItemJualOld.Add(new ItemJualProduk { item_jual_id = item.item_jual_id, jumlah = item.jumlah, harga_jual = item.harga_jual }); } _listOfItemJual = this._jual.item_jual; _listOfItemJual.Add(new ItemJualProduk()); // add dummy objek InitGridControl(gridControl); RefreshTotal(); }
public FrmLookupHistoriPembayaran(string header, JualProduk jual, IList <ItemPembayaranPiutangProduk> listOfHistoriPembayaran) : this(header) { this.groupBox1.Text = " [ Informasi Penjualan ] "; this.label3.Text = "Customer"; this._listOfHistoriPembayaranPiutang = listOfHistoriPembayaran; this._paymentType = PaymentHistoryType.PembayaranPiutang; txtTanggal.Text = DateTimeHelper.DateToString(jual.tanggal); txtNota.Text = jual.nota; txtCustomerOrSupplier.Text = jual.Customer.nama_customer; txtTotal.Text = NumberHelper.NumberToString(SumGrid(listOfHistoriPembayaran)); InitGridList(); }
public FrmEntryLabelNota(string header, Customer customer, JualProduk jual) : base() { InitializeComponent(); ColorManagerHelper.SetTheme(this, this); base.SetHeader(header); this._pengaturanUmum = MainProgram.pengaturanUmum; this._labelAlamatKirim = new LabelAlamatKirim(); this._customer = customer; this._jual = jual; SetLabelNota(); }
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(); }
public FrmPreviewLabelNotaPenjualan(string header, JualProduk jual) : this() { this.Text = header; this.lblHeader.Text = header; this._log = MainProgram.log; this._pengguna = MainProgram.pengguna; this._profil = MainProgram.profil; this._pengaturanUmum = MainProgram.pengaturanUmum; this._jual = jual; this._customer = this._jual.Customer; SetLabelNota(); btnPreviewNota_Click(btnPreviewNota, new EventArgs()); }
public int Delete(JualProduk obj) { var result = 0; try { result = _context.db.Delete <JualProduk>(obj) ? 1 : 0; } catch (Exception ex) { _log.Error("Error:", ex); } return(result); }
public void DeleteTest() { var obj = new JualProduk { jual_id = "94208d8c-b4c6-4e32-af37-3eec93f9ebf3" }; var result = _bll.Delete(obj); Assert.IsTrue(result != 0); var deletedObj = _bll.GetByID(obj.jual_id); Assert.IsNull(deletedObj); }
public int Save(JualProduk 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)); }
public FrmPreviewNotaPenjualan(string header, JualProduk jual) : this() { this.Text = header; this.lblHeader.Text = header; this._log = MainProgram.log; this._pengguna = MainProgram.pengguna; this._profil = MainProgram.profil; this._pengaturanUmum = MainProgram.pengaturanUmum; this._jual = jual; this._customer = this._jual.Customer; chkIsSdac.Checked = this._jual.is_sdac; chkIsSdac_CheckedChanged(chkIsSdac, new EventArgs()); btnPreviewNota_Click(btnPreviewNota, new EventArgs()); }
/// <summary> /// Method untuk menghapus pembayaran piutang jika terjadi perubahan status nota dari tunai ke kredit /// </summary> /// <param name="obj"></param> /// <returns></returns> private int HapusPembayaranPiutang(JualProduk obj) { PembayaranPiutangProduk pembayaranHutang; ItemPembayaranPiutangProduk itemPembayaranHutang; IPembayaranPiutangProdukRepository pembayaranHutangRepo = new PembayaranPiutangProdukRepository(_context, _log); var result = 0; // set detail itemPembayaranHutang = pembayaranHutangRepo.GetByJualID(obj.jual_id); if (itemPembayaranHutang != null) { pembayaranHutang = itemPembayaranHutang.PembayaranPiutangProduk; result = pembayaranHutangRepo.Delete(pembayaranHutang); } return(result); }