Ejemplo n.º 1
0
        private void buttonPenjualan_Click(object sender, EventArgs e)
        {
            Form form = Application.OpenForms["FormDaftarNotaJual"];

            if (form == null)
            {
                FormDaftarNotaJual formNotaJual = new FormDaftarNotaJual();
                formNotaJual.MdiParent = this;
                formNotaJual.Show();
            }
            else
            {
                form.Show();
                form.BringToFront();
            }
        }
        private void buttonSimpan_Click(object sender, EventArgs e)
        {
            FormUtama          frmUtama = (FormUtama)this.Owner.MdiParent;
            FormDaftarNotaJual form     = (FormDaftarNotaJual)this.Owner;
            //buat objek bertipe pelanggan
            Pelanggan pelanggan = new Pelanggan();

            //format combo box pelanggan: X -yyyyyy (kode pelanggan karakter 0 sebanyak 1, nama kategori mulai karakter  ke-4 s/d akhir
            pelanggan.IdPelanggan = int.Parse(comboBoxPelanggan.Text.Substring(0, 1));                      //kode pelanggan diambil dari  combobox
            pelanggan.Nama        = comboBoxPelanggan.Text.Substring(4, comboBoxPelanggan.Text.Length - 4); //nama pelanggan diambil dari combo box
            pelanggan.Alamat      = textBoxAlamat.Text;

            //buat object bertipe notajual
            string        no          = textBoxNo.Text;
            string        stat        = comboBoxStatus.Text;
            string        keter       = textBoxKeterangan.Text;
            double        disk        = double.Parse(textBoxDiskon.Text);
            int           total       = HitungGrandTotal();
            DateTime      btsLunas    = dateTimePickerTglLunas.Value;
            DateTime      btsDisk     = dateTimePickerDiskon.Value;
            DateTime      tanggalJual = dateTimePickerTanggalJual.Value;
            NotaPenjualan nota        = new NotaPenjualan(no, stat, keter, disk, total, btsLunas, btsLunas, tanggalJual, pelanggan);

            //data barang diperoleh dari data gridview
            for (int i = 0; i < dataGridViewNota.Rows.Count; i++)
            {
                //buat object bertipe barang
                Barang barang = new Barang();
                //tambahkan kode, nama, jenis, satuan
                //hati hati dalam menambahkan
                barang.KodeBarang = dataGridViewNota.Rows[i].Cells["KodeBarang"].Value.ToString();
                barang.Nama       = dataGridViewNota.Rows[i].Cells["NamaBarang"].Value.ToString();
                barang.Jenis      = dataGridViewNota.Rows[i].Cells["jenis"].Value.ToString();
                barang.Satuan     = dataGridViewNota.Rows[i].Cells["satuan"].Value.ToString();
                //simpan  data hargajual dan jumlah
                int harga  = int.Parse(dataGridViewNota.Rows[i].Cells["HargaJual"].Value.ToString());
                int jumlah = int.Parse(dataGridViewNota.Rows[i].Cells["Jumlah"].Value.ToString());
                //buat object dan tambahkan
                DetilNotaJual notaDetil = new DetilNotaJual(barang, jumlah, harga);
                //simpan detil barang ke nota
                nota.TambahDetilBarang(barang, jumlah, harga);
            }

            string hasilTambahNota = NotaPenjualan.TambahData(nota);

            if (hasilTambahNota == "1") //jika berhasil maka insert jurnal dan detil jurnal
            {
                MessageBox.Show("Data nota jual telah tersimpan", "Info");


                //tambah posting ke jurnal
                string idtrans  = "";
                string ket      = "";
                string idJurnal = Jurnal.GenerateIdJurnal();
                if (comboBoxStatus.Text == "L")
                {
                    idtrans = "008";
                    ket     = "Menjual barang dagangan secara tunai";
                }
                else
                {
                    idtrans = "011";
                    ket     = "Menjual barang dagangan secara kredit";
                }
                Transaksi trans = new Transaksi();
                //transaksi penjualan tunai (id transkasi 008);
                trans.IdTransaksi = idtrans;
                trans.Keterangan  = ket;

                //buat object bertipe jurnal
                Jurnal jurnal = new Jurnal();
                //tambahkan data
                jurnal.IdJurnal = int.Parse(idJurnal);
                jurnal.Tanggal  = dateTimePickerTanggalJual.Value;

                jurnal.NomorBukti = textBoxNo.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 (comboBoxStatus.Text == "L")
                {
                    jurnal.TambahDetilJurnalPenjualanBarangTunai(totalharga, totalHpp);
                }
                else
                {
                    jurnal.TambahDetilJurnalPenjualanBarangKredit(totalharga, totalHpp);
                }
                //simpan ke tabel _jurnal
                string hasilTambahJurnal = Jurnal.TambahData(jurnal);
                if (hasilTambahJurnal == "1")
                {
                    MessageBox.Show("berhasil posting ke jurnal");
                    DialogResult pesan = MessageBox.Show("Apakah anda ingin mencetak nota ? ", "konformasi", MessageBoxButtons.YesNo);
                    if (pesan == DialogResult.Yes)
                    {
                        string hasilCetak = NotaPenjualan.CetakNota("noNotaPenjualan", textBoxNo.Text, "tambah_nota_penjualan.txt");
                        if (hasilCetak == "1")
                        {
                            MessageBox.Show("Nota telah tercetak");
                            this.Close();
                            form.FormDaftarNotaJual_Load(sender, e);
                        }
                        else
                        {
                            MessageBox.Show("Nota beli gagal dicetak. Pesan kesalahan : " + hasilCetak);
                        }
                    }
                    else
                    {
                        this.Close();
                        form.FormDaftarNotaJual_Load(sender, e);
                    }
                }
                else
                {
                    MessageBox.Show("gagal posting ke jurnal" + hasilTambahJurnal);
                }
            }
            else
            {
                MessageBox.Show("Data nota jual gagal tersimpan. Pesan kesalahan : " + hasilTambahNota, "Kesalahan");
            }
        }