private void AddPrintData(string no_penjualan) { StrukDataset.PenjualanRow penjualanRow = penjualans.NewPenjualanRow(); penjualanRow.no_penjualan = no_penjualan; penjualanRow.nama_kasir = txtKasir.Text; penjualanRow.tgl_beli = DateTime.Now; penjualanRow.nama_member = txtNamaMember.Text; penjualanRow.total_harga = lblSubtotal.Content.ToString(); penjualanRow.total_item = lblJumlahBarang.Content.ToString(); penjualanRow.total = lblTotalPembayaran.Text; penjualanRow.poin_terpakai = Convert.ToInt32(txtPoin.Text); penjualanRow.tunai = Kenko.formatCurrency(double.Parse(Kenko.getNumber2(txtBayar.Text))); penjualanRow.kembalian = lblKembalian.Content.ToString(); penjualans.AddPenjualanRow(penjualanRow); foreach (DataRow row in dtPenjualan.Rows) { double harga = double.Parse(Kenko.getNumber(row["harga"].ToString())); StrukDataset.Detail_PenjualanRow detail_PenjualanRow = detail_Penjualans.NewDetail_PenjualanRow(); detail_PenjualanRow.nama_obat = row["nama_obat"].ToString(); detail_PenjualanRow.jumlah = row["jumlah"].ToString(); detail_PenjualanRow.harga = Kenko.formatCurrency(harga); detail_Penjualans.AddDetail_PenjualanRow(detail_PenjualanRow); } }
private void saveObat(DataRow row, string no_pembelian) { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["ConString"]); SqlCommand cmd = new SqlCommand("sp_Transaksi_Beli_Obat", connection); cmd.CommandType = CommandType.StoredProcedure; string id_obat2 = Kenko.generateId("OB", "sp_Obat_GetLast"); cmd.Parameters.AddWithValue("no_pembelian", no_pembelian); cmd.Parameters.AddWithValue("id_obat1", row["id_obat"].ToString()); cmd.Parameters.AddWithValue("id_obat2", id_obat2); cmd.Parameters.AddWithValue("nama_obat", row["nama_obat"].ToString()); cmd.Parameters.AddWithValue("tgl_expired", row["tgl_exp"].ToString()); cmd.Parameters.AddWithValue("jumlah_beli", row["jumlah"].ToString()); cmd.Parameters.AddWithValue("harga_beli", row["harga_beli"].ToString()); cmd.Parameters.AddWithValue("harga_jual", row["harga_jual"].ToString()); cmd.Parameters.AddWithValue("total_harga", Kenko.getNumber(row["harga_total"].ToString())); try { connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { MessageBox.Show("Data gagal disimpan : " + ex.Message, "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void btnBayar_Click(object sender, RoutedEventArgs e) { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["ConString"]); SqlCommand cmd = new SqlCommand("sp_Transaksi_Penjualan", connection); cmd.CommandType = CommandType.StoredProcedure; string id_user = Application.Current.Properties["id"].ToString(); string no_penjualan = Kenko.generateId("PJ", "sp_Transaksi_Penjualan_GetLast"); cmd.Parameters.AddWithValue("no_penjualan", no_penjualan); cmd.Parameters.AddWithValue("tgl_beli", DateTime.Now); cmd.Parameters.AddWithValue("total_harga", Convert.ToDouble(Kenko.getNumber(lblTotalPembayaran.Text))); cmd.Parameters.AddWithValue("id_member", (txtPoin.IsEnabled == true) ? (object)txtIdMember.Text : DBNull.Value); cmd.Parameters.AddWithValue("poin_terpakai", txtPoin.Text); cmd.Parameters.AddWithValue("id_user", id_user); try { connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); foreach (DataRow row in dtPenjualan.Rows) { cmd = new SqlCommand("sp_Transaksi_Penjualan_Detail", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("no_penjualan", no_penjualan); cmd.Parameters.AddWithValue("id_obat", row["id_obat"].ToString()); cmd.Parameters.AddWithValue("jumlah", row["jumlah"].ToString()); cmd.Parameters.AddWithValue("total_harga", Kenko.getNumber(row["harga"].ToString())); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); } MessageBox.Show("Data berhasil disimpan!", "Information", MessageBoxButton.OK, MessageBoxImage.Information); AddPrintData(no_penjualan); StrukPreview strukPreview = new StrukPreview(penjualans, detail_Penjualans); strukPreview.Close(); NewTransaksi(); } catch (Exception ex) { MessageBox.Show("Data gagal disimpan : " + ex.Message, "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void btnHapusGrid_Click(object sender, RoutedEventArgs e) { DataRowView dataRowView = (DataRowView)((Button)e.Source).DataContext; subtotal = subtotal - double.Parse(Kenko.getNumber(dataRowView[4].ToString())); jumlahBarang = jumlahBarang - int.Parse(dataRowView[3].ToString()); lblSubtotal.Content = "0"; lblJumlahBarang.Content = jumlahBarang; dtKeranjang.Rows.Remove(dataRowView.Row); dataKeranjang.ItemsSource = dtKeranjang.DefaultView; lblTotalPembayaran.Text = "0"; }
private void btnSave_Click(object sender, RoutedEventArgs e) { if (cmbSupplier.SelectedIndex < 0) { MessageBox.Show("Silahkan pilih supplier terlebih dahulu", "Informasi", MessageBoxButton.OK, MessageBoxImage.Information); } else if (dtKeranjang.Rows.Count <= 0) { MessageBox.Show("Silahkan isi keranjang pembelian.", "Informasi", MessageBoxButton.OK, MessageBoxImage.Information); } else { SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["ConString"]); SqlCommand cmd = new SqlCommand("sp_Transaksi_Pembelian", connection); cmd.CommandType = CommandType.StoredProcedure; string no_pembelian = Kenko.generateId("PB", "sp_Transaksi_Pembelian_GetLast"); cmd.Parameters.AddWithValue("no_pembelian", no_pembelian); cmd.Parameters.AddWithValue("total_harga", Kenko.getNumber(lblTotalPembayaran.Text)); cmd.Parameters.AddWithValue("id_supplier", cmbSupplier.SelectedValue); cmd.Parameters.AddWithValue("id_user", 2); try { connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { MessageBox.Show("Data gagal disimpan : " + ex.Message, "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } foreach (DataRow row in dtKeranjang.Rows) { saveObat(row, no_pembelian); } MessageBox.Show("Data pembelian berhasil ditambahkan", "Berhasil", MessageBoxButton.OK, MessageBoxImage.Information); NewTransaksi(); } }
private void txtBayar_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { double totalPembayaran = Convert.ToDouble(Kenko.getNumber(lblTotalPembayaran.Text)); double bayar = double.Parse(Kenko.getNumber2(txtBayar.Text)); if (bayar < totalPembayaran) { MessageBox.Show("Uang pembayaran tidak mencukupi", "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } else { double kembalian = double.Parse(Kenko.getNumber2(txtBayar.Text)) - totalPembayaran; lblKembalian.Content = Kenko.formatCurrency(kembalian); btnBayar.IsEnabled = true; } } }
private void btnTambahGrid_Click(object sender, RoutedEventArgs e) { DataRowView dataRowView = (DataRowView)((Button)e.Source).DataContext; FormBeliObat fbo = new FormBeliObat(dataRowView[2].ToString(), dataRowView[1].ToString()); fbo.ShowDialog(); if (fbo.result) { double total = fbo.jumlah_beli * fbo.harga_beli; if (dtKeranjang.Rows.Count > 0) { bool found = false; for (int i = 0; i < dtKeranjang.Rows.Count; i++) { DataRow row = dtKeranjang.Rows[i]; if (row["id_obat"].ToString() == dataRowView[1].ToString() && row["tgl_exp"].ToString() == fbo.tgl_exp) { row["jumlah"] = Convert.ToInt32(row["jumlah"].ToString()) + Convert.ToInt32(fbo.jumlah_beli); row["harga_total"] = Kenko.formatCurrency(Convert.ToDouble(Kenko.getNumber(row["harga_total"].ToString())) + total); jumlahBarang = jumlahBarang + Convert.ToInt32(fbo.jumlah_beli); subtotal = subtotal + total; lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); found = true; } } if (!found) { jumlahBarang = jumlahBarang + Convert.ToInt32(fbo.jumlah_beli); subtotal = subtotal + total; dtKeranjang.Rows.Add(fbo.id_obat, fbo.nama_obat, fbo.tgl_exp, fbo.jumlah_beli, Kenko.formatCurrency(total), fbo.harga_beli, fbo.harga_jual); lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); } } else { jumlahBarang = jumlahBarang + Convert.ToInt32(fbo.jumlah_beli); subtotal = subtotal + total; dtKeranjang.Rows.Add(fbo.id_obat, fbo.nama_obat, fbo.tgl_exp, fbo.jumlah_beli, Kenko.formatCurrency(total), fbo.harga_beli, fbo.harga_jual); lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); } dataKeranjang.ItemsSource = dtKeranjang.DefaultView; } }
private void btnTambahGrid_Click(object sender, RoutedEventArgs e) { DataRowView dataRowView = (DataRowView)((Button)e.Source).DataContext; //Mengambil content dari dataMaster kolom 5 (jumlah) ContentPresenter jml = dataMaster.Columns[5].GetCellContent(dataRowView) as ContentPresenter; var myTemplate = jml.ContentTemplate; //Cek apakah myTemplate null atau tidak if (myTemplate != null) { TextBox jumlah = myTemplate.FindName("txtJumlah", jml) as TextBox; // Jika jumlah kosong if (jumlah.Text == "") { MessageBox.Show("Silahkan isi jumlah beli terlebih dahulu.", "Informasi", MessageBoxButton.OK, MessageBoxImage.Information); } else { // Jika stok kurang dari text jumlah if (Convert.ToInt32(dataRowView[7].ToString()) < Convert.ToInt32(jumlah.Text)) { MessageBox.Show("Stok tidak mencukupi.", "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } else { // Menghitung total, text jumlah * dengan harga jual double total = Double.Parse(jumlah.Text) * Double.Parse(dataRowView[9].ToString()); // Jika keranjang ada barangnya if (dtPenjualan.Rows.Count > 0) { bool found = false; for (int i = 0; i < dtPenjualan.Rows.Count; i++) { DataRow row = dtPenjualan.Rows[i]; //jika obat dari keranjang == obat dari datagrid obat if (row["id_obat"].ToString() == dataRowView[1].ToString()) { int jumlahPembelianKeranjang = Convert.ToInt32(row["jumlah"].ToString()) + Convert.ToInt32(jumlah.Text); // Jika jumlah pembelian di keranjang melebihi yang ada di database if (jumlahPembelianKeranjang > Convert.ToInt32(dataRowView[7].ToString())) { MessageBox.Show("Stok tidak mencukupi.", "Gagal", MessageBoxButton.OK, MessageBoxImage.Error); } else { row["jumlah"] = jumlahPembelianKeranjang; row["harga"] = Convert.ToDouble(Kenko.getNumber(row["harga"].ToString())) + total; jumlahBarang = jumlahBarang + Convert.ToInt32(jumlah.Text); subtotal = subtotal + total; lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); } found = true; } } //Jika tidak ada di keranjang, maka data langsung ditambahkan ke row baru, //tidak mengakumulasikan jumlah barang dari keranjang if (!found) { jumlahBarang = jumlahBarang + Convert.ToInt32(jumlah.Text); subtotal = subtotal + total; dtPenjualan.Rows.Add(dataRowView[1].ToString(), dataRowView[2].ToString(), jumlah.Text, Kenko.formatCurrency(total)); lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); } } else { jumlahBarang = jumlahBarang + Convert.ToInt32(jumlah.Text); subtotal = subtotal + total; //Menambahkan baris ke dtPenjualan dtPenjualan.Rows.Add(dataRowView[1].ToString(), dataRowView[2].ToString(), jumlah.Text, Kenko.formatCurrency(total)); lblJumlahBarang.Content = jumlahBarang; lblSubtotal.Content = Kenko.formatCurrency(subtotal); lblTotalPembayaran.Text = Kenko.formatCurrency(subtotal); } dataPenjualan.ItemsSource = dtPenjualan.DefaultView; jumlah.Text = "0"; } } } else { MessageBox.Show("Silahkan isi jumlah beli terlebih dahulu.", "Informasi", MessageBoxButton.OK, MessageBoxImage.Information); } }