private void buttonSimpan_Click(object sender, EventArgs e) { FormUtama frmUtama = (FormUtama)this.Owner.MdiParent; FormDaftarSuratJalan form = (FormDaftarSuratJalan)this.Owner; //buat objek bertipe job order SuratPermintaan sp = new SuratPermintaan(); sp.NoSuratPermintaan = comboBoxSuratPermintaan.Text; //buat object bertipe suratjalan string no = textBoxNoSurat.Text; string pjenis = comboBoxJenis.Text; if (pjenis == "Masuk") { pjenis = "M"; } else { pjenis = "K"; } string ket = textBoxKeterangan.Text; DateTime tanggal = dateTimePickerTgl.Value; SuratJalan surat = new SuratJalan(no, pjenis, ket, tanggal, sp); //data barang diperoleh dari data gridview for (int i = 0; i < dataGridViewSurat.Rows.Count; i++) { //buat object bertipe barang Barang barang = new Barang(); //tambahkan kode, nama, jenis, satuan //hati hati dalam menambahkan barang.KodeBarang = dataGridViewSurat.Rows[i].Cells["KodeBarang"].Value.ToString(); barang.Nama = dataGridViewSurat.Rows[i].Cells["NamaBarang"].Value.ToString(); barang.Jenis = dataGridViewSurat.Rows[i].Cells["jenis"].Value.ToString(); barang.Satuan = dataGridViewSurat.Rows[i].Cells["satuan"].Value.ToString(); //simpan data harga dan jumlah int jumlah = int.Parse(dataGridViewSurat.Rows[i].Cells["Jumlah"].Value.ToString()); //buat object dan tambahkan DetilSuratJalan detilSurat = new DetilSuratJalan(barang, jumlah); //simpan detil barang ke nota surat.TambahDetilBarang(barang, jumlah); } string hasilTambahNota = SuratJalan.TambahData(surat); if (hasilTambahNota == "1") //jika berhasil maka insert jurnal dan detil jurnal { MessageBox.Show("Surat Jalan telah tersimpan", "Info"); //tambah posting ke jurnal string idtrans = ""; string ketTrans = ""; string idJurnal = Jurnal.GenerateIdJurnal(); if (comboBoxJenis.Text == "Masuk") { // barang masuk ke gudang idtrans = "007"; ketTrans = "Menyelesaikan produksi Job Order no 123"; } else { //barang diambil dari gudang idtrans = "004"; ketTrans = "PPIC menerima bahan baku dari gudang"; } Transaksi trans = new Transaksi(); trans.IdTransaksi = idtrans; trans.Keterangan = ketTrans; //buat object bertipe jurnal Jurnal jurnal = new Jurnal(); //tambahkan data jurnal.IdJurnal = int.Parse(idJurnal); jurnal.Tanggal = dateTimePickerTgl.Value; jurnal.NomorBukti = textBoxNoSurat.Text; jurnal.Jenis = "JU"; jurnal.Periode = pPeriode; jurnal.Transaksi = trans; //isi detil jurnalnya int totalharga = HitungGrandTotal(); // panggil method hitung total harga untuk mendapatkan totalharga if (comboBoxJenis.Text == "Masuk") { jurnal.TambahDetilJurnalPenyelesaianProduksi(totalJobCost); string hasil = JobOrder.UpdateStatusJobOrder(kodeJob); if (hasil == "1") { MessageBox.Show("Job Order : " + kodeJob + " telah selesai "); } else { MessageBox.Show(hasil); } } else { string hasil = JobOrder.UpdateDirectMaterial(kodeJob, totalharga); if (hasil == "1") { MessageBox.Show("sudah di update " + kodeJob + ", total Direct Material RP " + totalharga.ToString("0,###")); } else { MessageBox.Show(hasil); } jurnal.TambahDetilJurnalMenerimaBahanBaku(totalharga); } //simpan ke tabel _jurnal string hasilTambahJurnal = Jurnal.TambahData(jurnal); if (hasilTambahJurnal == "1") { MessageBox.Show("berhasil posting ke jurnal"); this.Close(); form.FormDaftarSuratJalan_Load(sender, e); //supaya formdaftar surat jalan menampilkan daftar terbaru } else { MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal); } } else { MessageBox.Show("Data nota jual gagal tersimpan. Pesan kesalahan : " + hasilTambahNota, "Kesalahan"); } }