protected override void OpenFileMaster() { var msg = "Untuk membuka file master Customer membutuhkan Ms Excel versi 2007 atau yang terbaru.\n\n" + "Apakah proses ingin dilanjutkan ?"; if (MsgHelper.MsgKonfirmasi(msg)) { var fileMaster = Utils.GetAppPath() + @"\File Import Excel\Master Data\data_customer.xlsx"; if (!File.Exists(fileMaster)) { MsgHelper.MsgWarning("Maaf file master Customer tidak ditemukan."); return; } try { Process.Start(fileMaster); } catch { msg = "Gagal membuka file master Customer !!!.\n\n" + "Cek apakah Ms Excel versi 2007 atau yang terbaru sudah terinstall ?"; MsgHelper.MsgError(msg); } } }
protected override void OpenFileExcel() { var msg = "Untuk membuka file master {0} membutuhkan Ms Excel versi 2007 atau yang terbaru.\n\n" + "Apakah proses ingin dilanjutkan ?"; if (MsgHelper.MsgKonfirmasi(string.Format(msg, ImportTitle))) { var fileMaster = Utils.GetAppPath() + @"\File Import Excel\Master Data\data_supplier.xlsx"; if (!File.Exists(fileMaster)) { msg = "Maaf file master {0} tidak ditemukan."; MsgHelper.MsgWarning(string.Format(msg, ImportTitle)); return; } try { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { Process.Start(fileMaster); } } catch { msg = "Gagal membuka file master {0} !!!.\n\n" + "Cek apakah Ms Excel versi 2007 atau yang terbaru sudah terinstall ?"; MsgHelper.MsgWarning(string.Format(msg, ImportTitle)); } } }
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 }
protected override void Simpan() { var noTransaksi = NumberHelper.StringToNumber(txtNomorTransaksi.Text); if (!(noTransaksi > 0)) { MsgHelper.MsgWarning("'Nomor Transaksi' tidak boleh kosong !"); txtNomorTransaksi.Focus(); txtNomorTransaksi.SelectAll(); return; } if (noTransaksi > _jual.item_jual.Count) { MsgHelper.MsgWarning(string.Format("'Nomor Transaksi' tidak valid !\nNomor Transaksi terakhir adalah {0}", _jual.item_jual.Count)); txtNomorTransaksi.Focus(); txtNomorTransaksi.SelectAll(); return; } if (!MsgHelper.MsgKonfirmasi("Apakah proses penyimpanan ingin di lanjutkan ?")) { return; } Listener.Ok(this, new { noTransaksi }); this.Close(); }
protected override void ImportData() { var msg = string.Empty; var fileMaster = Utils.GetAppPath() + @"\File Import Excel\Master Data\data_produk.xlsx"; IImportExportDataBll <Produk> _importDataBll = new ImportExportDataProdukBll(fileMaster, _log); if (_importDataBll.IsOpened()) { msg = "Maaf file master Produk sedang dibuka, silahkan ditutup terlebih dulu."; MsgHelper.MsgWarning(msg); return; } if (!_importDataBll.IsValidFormat()) { msg = "Maaf format file master Produk tidak valid, proses import tidak bisa dilanjutkan."; MsgHelper.MsgWarning(msg); return; } if (MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var rowCount = 0; var result = _importDataBll.Import(ref rowCount); if (result) { msg = "Import data master Produk berhasil."; MsgHelper.MsgInfo(msg); if (cmbGolongan.SelectedIndex == 0) { LoadDataProduk(); } else { cmbGolongan.SelectedIndex = 0; } } else { if (rowCount == 0) { msg = "Data file master Produk masih kosong.\n" + "Silahkan diisi terlebih dulu."; MsgHelper.MsgInfo(msg); } } } } }
private void CetakLaporan() { if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { IRAWPrinting printerMiniPos = new PrinterMiniPOS(_pengaturanUmum.nama_printer); printerMiniPos.Cetak(_listOfMesinKasir, _pengaturanUmum.list_of_header_nota_mini_pos, _pengaturanUmum.jumlah_karakter, _pengaturanUmum.jumlah_gulung); this.Close(); } }
protected override void ImportData() { var msg = string.Empty; if (txtPath.Text.Length == 0) { MsgHelper.MsgWarning("Lokasi dan nama file Excel belum dipilih."); return; } IImportExportDataBll <Supplier> importDataBll = new ImportExportDataSupplierBll(txtPath.Text, _log); if (importDataBll.IsOpened()) { msg = "Maaf file master {0} sedang dibuka, silahkan ditutup terlebih dulu."; MsgHelper.MsgWarning(string.Format(msg, ImportTitle)); return; } if (!importDataBll.IsValidFormat(cmbWorksheet.Text)) { msg = "Maaf format file master {0} tidak valid, proses import tidak bisa dilanjutkan."; MsgHelper.MsgWarning(string.Format(msg, ImportTitle)); return; } if (MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var rowCount = 0; var result = importDataBll.Import(cmbWorksheet.Text, ref rowCount); if (result) { msg = "Import data master {0} berhasil."; MsgHelper.MsgInfo(string.Format(msg, ImportTitle)); Listener.Ok(this, null); this.Close(); } else { if (rowCount == 0) { msg = "Data file master {0} masih kosong.\n" + "Silahkan diisi terlebih dulu."; MsgHelper.MsgInfo(string.Format(msg, ImportTitle)); } } } } }
private void mnuKeluarDariProgram_Click(object sender, EventArgs e) { if (MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { CloseAllDocuments(); this.Close(); } } }
private void btnCetakLabelNota_Click(object sender, EventArgs e) { if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { IJualProdukBll bll = new JualProdukBll(_log); var result = bll.Update(_jual); PreviewLabelNota(_jual, false); } } }
private void mnuGantiUser_Click(object sender, EventArgs e) { if (MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { CloseAllDocuments(); this.IsLogout = true; this.Close(); } } }
private void CetakLaporan() { if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { var autocutCode = _pengaturanUmum.is_autocut ? _pengaturanUmum.autocut_code : string.Empty; IRAWPrinting printerMiniPos = new PrinterMiniPOS(_pengaturanUmum.nama_printer); printerMiniPos.Cetak(_listOfMesinKasir, _pengaturanUmum.list_of_header_nota_mini_pos, _pengaturanUmum.jumlah_karakter, _pengaturanUmum.jumlah_gulung, ukuranFont: _pengaturanUmum.ukuran_font, autocutCode: autocutCode); this.Close(); } }
private void btnProsesRestore_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtLokasiFileBackup.Text)) { MsgHelper.MsgWarning("File backup belum dipilih !"); txtLokasiFileBackup.Focus(); return; } if (!MsgHelper.MsgKonfirmasi("Apakah proses restore database ingin dilanjutkan ?")) { return; } txtLog.Clear(); SaveAppConfig(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { Result = "Sedang melakukan koneksi ke database ..." + Environment.NewLine; if (!IsOpenConnection()) { var msg = "Maaf koneksi ke database gagal !!!\n" + "Proses restore database tidak bisa dilanjutkan."; MsgHelper.MsgWarning(msg); return; } Result = "Koneksi ke database berhasil" + Environment.NewLine + Environment.NewLine; if (!ReplaceDatabase(_dbName)) { var msg = "Gagal menghapus database lama !!!\n" + "Proses restore database gagal."; MsgHelper.MsgError(msg); return; } Result = "Sedang merestore database ..." + Environment.NewLine + Environment.NewLine; var cmd = "-U postgres -h " + txtServer.Text + " -p " + _port + " -i -v -d " + _dbName + " \"" + txtLokasiFileBackup.Text + "\""; ExecuteCommand("pg_restore", cmd); } }
private void btnProsesBackup_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtLokasiPenyimpananFileBackup.Text)) { MsgHelper.MsgWarning("Lokasi penyimpanan file backup belum dipilih !"); txtLokasiPenyimpananFileBackup.Focus(); return; } if (!Directory.Exists(txtLokasiPenyimpananFileBackup.Text)) { Directory.CreateDirectory(txtLokasiPenyimpananFileBackup.Text); } if (!MsgHelper.MsgKonfirmasi("Apakah proses backup database ingin dilanjutkan ?")) { return; } txtLog.Clear(); SaveAppConfig(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { Result = "Sedang melakukan koneksi ke database ..." + Environment.NewLine; if (!IsOpenConnection()) { var msg = "Maaf koneksi ke database gagal !!!\n" + "Proses backup database tidak bisa dilanjutkan."; MsgHelper.MsgWarning(msg); return; } Result = "Koneksi ke database berhasil" + Environment.NewLine + Environment.NewLine; Result = "Sedang membuat file backup ..." + Environment.NewLine + Environment.NewLine; var fileBackup = string.Format("{0}\\{1}", txtLokasiPenyimpananFileBackup.Text, txtNamaFileBackup.Text); var cmd = "-U postgres -h " + txtServer.Text + " -p " + _port + " -i -F c -b -v -f \"" + fileBackup + "\" " + _dbName; ExecuteCommand("pg_dump", cmd); OpenFolder(fileBackup, txtLokasiPenyimpananFileBackup.Text); } }
private void btnCetak_Click(object sender, EventArgs e) { if (!IsPilih()) { MsgHelper.MsgWarning("Minimal satu posisi label barcode harus dipilih !"); return; } if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { SaveAppConfig(); PrintDocument printBarcode = new PrintDocument(); printBarcode.PrinterSettings.PrinterName = cmbPrinter.Text; printBarcode.PrinterSettings.Copies = (short)updJumlahCetak.Value; printBarcode.PrintPage += printBarcode_PrintPage; printBarcode.Print(); } }
protected override void Pilih() { var rowIndex = this.gridList.SelectedIndex; if (!base.IsSelectedItem(rowIndex, this.Text)) { return; } if (_pengaturanUmum.is_auto_print) { if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { var jual = _listOfJual[rowIndex]; if (jual != null) { IJualProdukBll bll = new JualProdukBll(_log); jual.item_jual = bll.GetItemJual(jual.jual_id).ToList(); } switch (_pengaturanUmum.jenis_printer) { case JenisPrinter.DotMatrix: CetakNotaDotMatrix(jual); break; case JenisPrinter.MiniPOS: CetakNotaMiniPOS(jual); break; default: // do nothing break; } } } }
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(); } } } }
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(); } } } }
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(); } } } }
private void InitGridList() { var gridListProperties = new List <GridListControlProperties>(); gridListProperties.Add(new GridListControlProperties { Header = "No", Width = 30 }); gridListProperties.Add(new GridListControlProperties { Header = "Tanggal", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Tempo", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Nota", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Customer", Width = _pengaturanUmum.jenis_printer == JenisPrinter.InkJet ? 180 : 260 }); gridListProperties.Add(new GridListControlProperties { Header = "Keterangan", Width = 350 }); gridListProperties.Add(new GridListControlProperties { Header = "Piutang", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Sisa Piutang", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Histori Pembayaran", Width = 80 }); if (_pengaturanUmum.jenis_printer == JenisPrinter.InkJet) { gridListProperties.Add(new GridListControlProperties { Header = "Cetak Nota/Label", Width = 80 }); gridListProperties.Add(new GridListControlProperties { Header = "" }); } else { gridListProperties.Add(new GridListControlProperties { Header = "Cetak Nota", Width = 80 }); } GridListControlHelper.InitializeGridListControl <JualProduk>(this.gridList, _listOfJual, gridListProperties, false, rowHeight: 40); if (_pengaturanUmum.jenis_printer == JenisPrinter.InkJet) { // merge header kolom cetak nota/label this.gridList.Grid.CoveredRanges.Add(GridRangeInfo.Cells(0, 10, 0, 11)); } if (_listOfJual.Count > 0) { this.gridList.SetSelected(0, true); } this.gridList.Grid.PushButtonClick += delegate(object sender, GridCellPushButtonClickEventArgs e) { if (e.RowIndex > 0) { var index = e.RowIndex - 1; switch (e.ColIndex) { case 9: // histori pembayaran using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var jual = _listOfJual[index]; IPembayaranPiutangProdukBll bll = new PembayaranPiutangProdukBll(_log); var listOfHistoriPembayaran = bll.GetHistoriPembayaran(jual.jual_id); if (listOfHistoriPembayaran.Count > 0) { var frmHistoriPembayaran = new FrmLookupHistoriPembayaran("Histori Pembayaran Piutang", jual, listOfHistoriPembayaran); frmHistoriPembayaran.ShowDialog(); } else { MsgHelper.MsgInfo("Belum ada informasi histori pembayaran"); } } break; case 10: // cetak nota jual using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var jual = _listOfJual[index]; switch (this._pengaturanUmum.jenis_printer) { case JenisPrinter.DotMatrix: if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { CetakNotaDotMatrix(jual); } break; case JenisPrinter.MiniPOS: if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { CetakNotaMiniPOS(jual); } break; default: var frmCetakNota = new FrmPreviewNotaPenjualan("Preview Nota Penjualan", jual); frmCetakNota.ShowDialog(); break; } } break; case 11: // cetak label nota jual using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var jual = _listOfJual[index]; var frmCetakLabelNota = new FrmPreviewLabelNotaPenjualan("Preview Label Nota Penjualan", jual); frmCetakLabelNota.ShowDialog(); } break; default: break; } } }; this.gridList.Grid.QueryCellInfo += delegate(object sender, GridQueryCellInfoEventArgs e) { if (_listOfJual.Count > 0) { if (e.RowIndex > 0) { var rowIndex = e.RowIndex - 1; if (rowIndex < _listOfJual.Count) { double totalNota = 0; var jual = _listOfJual[rowIndex]; if (jual != null) { totalNota = jual.grand_total; } var isRetur = jual.retur_jual_id != null; var oldStyleBackColor = e.Style.BackColor; if (isRetur) { e.Style.BackColor = Color.Red; } switch (e.ColIndex) { case 1: var noUrut = (_pageNumber - 1) * _pageSize + e.RowIndex; e.Style.CellValue = noUrut; e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; break; case 2: e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellValue = DateTimeHelper.DateToString(jual.tanggal); break; case 3: e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellValue = DateTimeHelper.DateToString(jual.tanggal_tempo); break; case 4: e.Style.CellValue = jual.nota; break; case 5: if (jual.Customer != null) { SetWilayahCustomer(jual.Customer); e.Style.CellValue = jual.Customer.nama_customer; } break; case 6: e.Style.CellValue = jual.keterangan; break; case 7: e.Style.HorizontalAlignment = GridHorizontalAlignment.Right; e.Style.CellValue = NumberHelper.NumberToString(totalNota); break; case 8: e.Style.HorizontalAlignment = GridHorizontalAlignment.Right; e.Style.CellValue = NumberHelper.NumberToString(totalNota - jual.total_pelunasan); break; case 9: // button history pembayaran e.Style.Enabled = jual.tanggal_tempo != null; e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellType = GridCellTypeName.PushButton; e.Style.BackColor = oldStyleBackColor; e.Style.Description = "Cek Histori"; break; case 10: // button cetak nota e.Style.Enabled = jual.Customer != null; e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellType = GridCellTypeName.PushButton; e.Style.BackColor = oldStyleBackColor; e.Style.Description = "Cetak Nota"; break; case 11: // button cetak label nota if (_pengaturanUmum.jenis_printer == JenisPrinter.InkJet) { e.Style.Enabled = jual.Customer != null; e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellType = GridCellTypeName.PushButton; e.Style.BackColor = oldStyleBackColor; e.Style.Description = "Cetak Label Nota"; } break; default: break; } // we handled it, let the grid know e.Handled = true; } } } }; }
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._listOfItemJual); 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; } total = NumberHelper.StringToDouble(lblTotal.Text); if (this._customer != null) { if (this._customer.plafon_piutang > 0) { if (!(this._customer.plafon_piutang >= (total + this._customer.sisa_piutang))) { var msg = string.Empty; if (this._customer.sisa_piutang > 0) { msg = "Maaf, maksimal plafon piutang customer '{0}' adalah : {1}" + "\nSaat ini customer '{0}' masih mempunyai piutang sebesar : {2}"; msg = string.Format(msg, this._customer.nama_customer, NumberHelper.NumberToString(this._customer.plafon_piutang), NumberHelper.NumberToString(this._customer.sisa_piutang)); } else { msg = "Maaf, maksimal plafon piutang customer '{0}' adalah : {1}"; msg = string.Format(msg, this._customer.nama_customer, NumberHelper.NumberToString(this._customer.plafon_piutang)); } MsgHelper.MsgWarning(msg); return; } } } } if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { return; } if (_isNewData) { _jual = new JualProduk(); } _jual.pengguna_id = this._pengguna.pengguna_id; _jual.Pengguna = this._pengguna; _jual.customer_id = this._customer.customer_id; _jual.Customer = this._customer; _jual.nota = txtNota.Text; _jual.tanggal = dtpTanggal.Value; _jual.tanggal_tempo = DateTimeHelper.GetNullDateTime(); _jual.is_tunai = rdoTunai.Checked; if (rdoKredit.Checked) // penjualan kredit { _jual.tanggal_tempo = dtpTanggalTempo.Value; } _jual.ppn = NumberHelper.StringToDouble(txtPPN.Text); _jual.diskon = NumberHelper.StringToDouble(txtDiskon.Text); _jual.keterangan = txtKeterangan.Text; _jual.item_jual = this._listOfItemJual.Where(f => f.Produk != null).ToList(); foreach (var item in _jual.item_jual) { if (!(item.harga_beli > 0)) { item.harga_beli = item.Produk.harga_beli; } if (!(item.harga_jual > 0)) { item.harga_jual = item.Produk.harga_jual; } } if (!_isNewData) // update { _jual.item_jual_deleted = _listOfItemJualDeleted; } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { if (_isNewData) { result = _bll.Save(_jual, ref validationError); } else { result = _bll.Update(_jual, ref validationError); } if (result > 0) { if (chkCetakNotaJual.Checked) { CetakNota(_jual.jual_id); } Listener.Ok(this, _isNewData, _jual); _customer = null; _listOfItemJual.Clear(); _listOfItemJualDeleted.Clear(); this.Close(); } else { if (validationError.Message.Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }
protected override void Simpan() { var msg = "'{0}' tidak boleh kosong !"; var bayarTunai = 0; var bayarKartu = 0; if (chkBayarViaKartu.Checked) // pembayaran via kartu { bayarKartu = (int)NumberHelper.StringToNumber(txtBayarKartu.Text); if (!(bayarKartu > 0)) { MsgHelper.MsgWarning(string.Format(msg, "Bayar via Kartu")); txtBayarKartu.Focus(); return; } } // pembayaran tunai bayarTunai = (int)NumberHelper.StringToNumber(txtBayarTunai.Text); if (bayarTunai == 0 && bayarKartu == 0) { MsgHelper.MsgWarning(string.Format(msg, "Bayar Tunai")); txtBayarTunai.Focus(); return; } _jual.bayar_tunai = bayarTunai; _jual.bayar_kartu = bayarKartu; if ((_jual.jumlah_bayar - _jual.grand_total) < 0) { MsgHelper.MsgWarning("Maaf jumlah bayar kurang"); if (bayarTunai > 0) { txtBayarTunai.Focus(); txtBayarTunai.SelectAll(); return; } if (bayarKartu > 0) { txtBayarKartu.Focus(); txtBayarKartu.SelectAll(); return; } } if (!MsgHelper.MsgKonfirmasi("Apakah proses penyimpanan ingin di lanjutkan ?")) { return; } _jual.mesin_id = MainProgram.mesinId; _jual.ppn = NumberHelper.StringToDouble(txtPPN.Text); _jual.diskon = NumberHelper.StringToDouble(txtDiskon.Text); if (_jual.bayar_kartu > 0) { var kartu = _listOfKartu[cmbKartu.SelectedIndex]; _jual.kartu_id = kartu.kartu_id; _jual.Kartu = kartu; _jual.nomor_kartu = txtNoKartu.Text; } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { result = _bll.Save(_jual, ref validationError); if (result > 0) { Listener.Ok(this, _jual); UpdateDefaultPPN(_jual.ppn); this.Close(); } else { if (validationError.Message != null && validationError.Message.Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }
private void InitGridList() { var gridListProperties = new List <GridListControlProperties>(); gridListProperties.Add(new GridListControlProperties { Header = "No", Width = 30 }); gridListProperties.Add(new GridListControlProperties { Header = "Tanggal", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Tempo", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Nota", Width = 100 }); gridListProperties.Add(new GridListControlProperties { Header = "Customer", Width = 230 }); gridListProperties.Add(new GridListControlProperties { Header = "Keterangan", Width = 350 }); gridListProperties.Add(new GridListControlProperties { Header = "Piutang", Width = 130 }); gridListProperties.Add(new GridListControlProperties { Header = "Sisa Piutang", Width = 130 }); gridListProperties.Add(new GridListControlProperties { Header = "Cetak Nota/Label", Width = 80 }); gridListProperties.Add(new GridListControlProperties { Header = "" }); GridListControlHelper.InitializeGridListControl <JualProduk>(this.gridList, _listOfJual, gridListProperties); // merge header kolom cetak nota/label this.gridList.Grid.CoveredRanges.Add(GridRangeInfo.Cells(0, 9, 0, 10)); if (_listOfJual.Count > 0) { this.gridList.SetSelected(0, true); } this.gridList.Grid.PushButtonClick += delegate(object sender, GridCellPushButtonClickEventArgs e) { if (e.RowIndex > 0) { var index = e.RowIndex - 1; switch (e.ColIndex) { case 9: // cetak nota jual using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var jual = _listOfJual[index]; if (this._pengaturanUmum.is_printer_mini_pos) { if (MsgHelper.MsgKonfirmasi("Apakah proses pencetakan ingin dilanjutkan ?")) { CetakNotaMiniPOS(jual); } } else { var frmCetakNota = new FrmPreviewNotaPenjualan("Preview Nota Penjualan", jual); frmCetakNota.ShowDialog(); } } break; case 10: // cetak label nota jual using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { var jual = _listOfJual[index]; var frmCetakLabelNota = new FrmPreviewLabelNotaPenjualan("Preview Label Nota Penjualan", jual); frmCetakLabelNota.ShowDialog(); } break; default: break; } } }; this.gridList.Grid.QueryCellInfo += delegate(object sender, GridQueryCellInfoEventArgs e) { if (_listOfJual.Count > 0) { if (e.RowIndex > 0) { var rowIndex = e.RowIndex - 1; if (rowIndex < _listOfJual.Count) { double totalNota = 0; var jual = _listOfJual[rowIndex]; if (jual != null) { totalNota = jual.grand_total; } var isRetur = jual.retur_jual_id != null; var oldStyleBackColor = e.Style.BackColor; if (isRetur) { e.Style.BackColor = Color.Red; } switch (e.ColIndex) { case 2: e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellValue = DateTimeHelper.DateToString(jual.tanggal); break; case 3: e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellValue = DateTimeHelper.DateToString(jual.tanggal_tempo); break; case 4: e.Style.CellValue = jual.nota; break; case 5: if (jual.Customer != null) { e.Style.CellValue = jual.Customer.nama_customer; } break; case 6: e.Style.CellValue = jual.keterangan; break; case 7: e.Style.HorizontalAlignment = GridHorizontalAlignment.Right; e.Style.CellValue = NumberHelper.NumberToString(totalNota); break; case 8: e.Style.HorizontalAlignment = GridHorizontalAlignment.Right; e.Style.CellValue = NumberHelper.NumberToString(totalNota - jual.total_pelunasan); break; case 9: // button hapus e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellType = GridCellTypeName.PushButton; e.Style.BackColor = oldStyleBackColor; e.Style.Description = "Cetak Nota"; break; case 10: // button hapus e.Style.HorizontalAlignment = GridHorizontalAlignment.Center; e.Style.CellType = GridCellTypeName.PushButton; e.Style.BackColor = oldStyleBackColor; e.Style.Description = "Cetak Label Nota"; break; default: break; } // we handled it, let the grid know e.Handled = true; } } } }; }
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._listOfItemPembayaranHutang); if (!(total > 0)) { MsgHelper.MsgWarning("Anda belum melengkapi inputan data pembayaran !"); return; } if (!MsgHelper.MsgKonfirmasi("Apakah proses ingin dilanjutkan ?")) { return; } if (_isNewData) { _pembayaranHutang = new PembayaranHutangProduk(); } _pembayaranHutang.pengguna_id = this._pengguna.pengguna_id; _pembayaranHutang.Pengguna = this._pengguna; _pembayaranHutang.supplier_id = this._supplier.supplier_id; _pembayaranHutang.Supplier = this._supplier; _pembayaranHutang.nota = txtNota.Text; _pembayaranHutang.tanggal = dtpTanggal.Value; _pembayaranHutang.keterangan = txtKeterangan.Text; _pembayaranHutang.item_pembayaran_hutang = this._listOfItemPembayaranHutang.Where(f => f.BeliProduk != null).ToList(); if (!_isNewData) // update { _pembayaranHutang.item_pembayaran_hutang_deleted = _listOfItemPembayaranHutangDeleted.ToList(); } var result = 0; var validationError = new ValidationError(); using (new StCursor(Cursors.WaitCursor, new TimeSpan(0, 0, 0, 0))) { if (_isNewData) { result = _bll.Save(_pembayaranHutang, false, ref validationError); } else { result = _bll.Update(_pembayaranHutang, false, ref validationError); } if (result > 0) { Listener.Ok(this, _isNewData, _pembayaranHutang); _supplier = null; _listOfItemPembayaranHutang.Clear(); _listOfItemPembayaranHutangDeleted.Clear(); this.Close(); } else { if (validationError.Message.NullToString().Length > 0) { MsgHelper.MsgWarning(validationError.Message); base.SetFocusObject(validationError.PropertyName, this); } else { MsgHelper.MsgUpdateError(); } } } }