protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBakuPenagihan poProduksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == Request.QueryString["id"]); TextBoxIDPOProduksiBahanBakuPenagihan.Text = poProduksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan; TextBoxPegawai.Text = poProduksiBahanBakuPenagihan.TBPengguna.NamaLengkap; TextBoxStatus.Text = poProduksiBahanBakuPenagihan.StatusPembayaran == false ? "Tagihan" : "Lunas"; TextBoxSupplier.Text = poProduksiBahanBakuPenagihan.TBSupplier.Nama; TextBoxAlamat.Text = poProduksiBahanBakuPenagihan.TBSupplier.Alamat; TextBoxEmail.Text = poProduksiBahanBakuPenagihan.TBSupplier.Email; TextBoxTelepon1.Text = poProduksiBahanBakuPenagihan.TBSupplier.Telepon1; TextBoxTelepon2.Text = poProduksiBahanBakuPenagihan.TBSupplier.Telepon2; TextBoxKeterangan.Text = poProduksiBahanBakuPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.Select(item => new { item.IDPenerimaanPOProduksiBahanBaku, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiBahanBakuPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiBahanBakuPenagihan.TBPOProduksiBahanBakuReturs.Select(item => new { item.IDPOProduksiBahanBakuRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiBahanBakuPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = poProduksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.Select(item => item.TBPOProduksiBahanBaku).Distinct().Where(item => item.IDPOProduksiBahanBakuPenagihan == poProduksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan).Select(item => new { item.IDPOProduksiBahanBaku, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiBahanBakuPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiBahanBakuPenagihan.TBPOProduksiBahanBakuPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiBahanBakuPenagihan.TotalBayar.ToFormatHarga(); } } }
protected void RepeaterData_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Hapus") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBakuPenagihan poProduksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == e.CommandArgument.ToString()); poProduksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.ToList().ForEach(item => item.IDPOProduksiBahanBakuPenagihan = null); poProduksiBahanBakuPenagihan.TBPOProduksiBahanBakuReturs.ToList().ForEach(item => { item.EnumStatusRetur = (int)EnumStatusPORetur.Baru; item.IDPOProduksiBahanBakuPenagihan = null; }); db.TBPOProduksiBahanBakus.Where(item => item.IDPOProduksiBahanBakuPenagihan == poProduksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan).ToList().ForEach(item => item.IDPOProduksiBahanBakuPenagihan = null); db.TBPOProduksiBahanBakuPenagihans.DeleteOnSubmit(poProduksiBahanBakuPenagihan); db.SubmitChanges(); LoadData(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBakuPenagihan poProduksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == Request.QueryString["id"]); TextBoxIDPOProduksiBahanBakuPenagihan.Text = poProduksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan; TextBoxPegawai.Text = poProduksiBahanBakuPenagihan.TBPengguna.NamaLengkap; TextBoxTanggal.Text = Pengaturan.FormatTanggalRingkas(poProduksiBahanBakuPenagihan.Tanggal); TextBoxSupplier.Text = poProduksiBahanBakuPenagihan.TBSupplier.Nama; TextBoxKeterangan.Text = poProduksiBahanBakuPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.Select(item => new { item.IDPenerimaanPOProduksiBahanBaku, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiBahanBakuPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiBahanBakuPenagihan.TBPOProduksiBahanBakuReturs.Select(item => new { item.IDPOProduksiBahanBakuRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiBahanBakuPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = poProduksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.Select(item => item.TBPOProduksiBahanBaku).Distinct().Where(item => item.IDPOProduksiBahanBakuPenagihan == poProduksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan).Select(item => new { item.IDPOProduksiBahanBaku, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiBahanBakuPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiBahanBakuPenagihan.TBPOProduksiBahanBakuPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiBahanBakuPenagihan.TotalBayar.ToFormatHarga(); TextBoxTotalSisaTagihan.Text = (poProduksiBahanBakuPenagihan.TotalTagihan - poProduksiBahanBakuPenagihan.TotalBayar).ToFormatHarga(); TextBoxTanggalBayar.Text = DateTime.Now.ToString("d MMMM yyyy"); DropDownListJenisPembayaran.DataSource = db.TBJenisPembayarans.Where(item => item.IDJenisPembayaran != 2).Select(item => new { item.IDJenisPembayaran, item.Nama }); DropDownListJenisPembayaran.DataTextField = "Nama"; DropDownListJenisPembayaran.DataValueField = "IDJenisPembayaran"; DropDownListJenisPembayaran.DataBind(); //ButtonSimpan.OnClientClick = "window.open('Cetak.aspx?id=" + Request.QueryString["id"] + "', 'Cetak');"; } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (Page.IsValid) { peringatan.Visible = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPOProduksiBahanBakuPenagihan = string.Empty; TBPOProduksiBahanBakuPenagihan produksiBahanBakuPenagihan = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { db.Proc_InsertPOProduksiBahanBakuPenagihan(ref IDPOProduksiBahanBakuPenagihan, DropDownListSupplier.SelectedValue.ToInt(), pengguna.IDTempat, pengguna.IDPengguna, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == IDPOProduksiBahanBakuPenagihan); foreach (RepeaterItem item in RepeaterDetailPenerimaan.Items) { CheckBox CheckBoxPilihPenerimaan = (CheckBox)item.FindControl("CheckBoxPilihPenerimaan"); Label LabelIDPenerimaanPOProduksiBahanBaku = (Label)item.FindControl("LabelIDPenerimaanPOProduksiBahanBaku"); if (CheckBoxPilihPenerimaan.Checked == true) { TBPenerimaanPOProduksiBahanBaku penerimaanPOProduksiBahanBaku = db.TBPenerimaanPOProduksiBahanBakus.FirstOrDefault(item2 => item2.IDPenerimaanPOProduksiBahanBaku == LabelIDPenerimaanPOProduksiBahanBaku.Text); penerimaanPOProduksiBahanBaku.TBPOProduksiBahanBakuPenagihan = produksiBahanBakuPenagihan; } } foreach (RepeaterItem item in RepeaterRetur.Items) { CheckBox CheckBoxPilihRetur = (CheckBox)item.FindControl("CheckBoxPilihRetur"); Label LabelIDPOProduksiBahanBakuRetur = (Label)item.FindControl("LabelIDPOProduksiBahanBakuRetur"); if (CheckBoxPilihRetur.Checked == true) { TBPOProduksiBahanBakuRetur POProduksiBahanBakuRetur = db.TBPOProduksiBahanBakuReturs.FirstOrDefault(item2 => item2.IDPOProduksiBahanBakuRetur == LabelIDPOProduksiBahanBakuRetur.Text); POProduksiBahanBakuRetur.TBPOProduksiBahanBakuPenagihan = produksiBahanBakuPenagihan; POProduksiBahanBakuRetur.EnumStatusRetur = (int)EnumStatusPORetur.Proses; } } foreach (RepeaterItem item in RepeaterDownPayment.Items) { Label LabelIDPOProduksiBahanBaku = (Label)item.FindControl("LabelIDPOProduksiBahanBaku"); TBPOProduksiBahanBaku POProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item2 => item2.IDPOProduksiBahanBaku == LabelIDPOProduksiBahanBaku.Text); POProduksiBahanBaku.TBPOProduksiBahanBakuPenagihan = produksiBahanBakuPenagihan; } produksiBahanBakuPenagihan.TotalPenerimaan = LabelTotalPenerimaan.Text.ToDecimal(); produksiBahanBakuPenagihan.TotalRetur = LabelTotalRetur.Text.ToDecimal(); produksiBahanBakuPenagihan.TotalDownPayment = LabelTotalDownPayment.Text.ToDecimal(); produksiBahanBakuPenagihan.TotalBayar = 0; produksiBahanBakuPenagihan.StatusPembayaran = false; produksiBahanBakuPenagihan.Keterangan = TextBoxKeterangan.Text; if (TextBoxTotalPenagihan.Text.ToDecimal() > 0) { db.SubmitChanges(); statusBerhasil = true; } else { db.TBPOProduksiBahanBakuPenagihans.DeleteOnSubmit(produksiBahanBakuPenagihan); LabelPeringatan.Text = "Total tagihan dibawah 0"; peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == IDPOProduksiBahanBakuPenagihan); if (produksiBahanBakuPenagihan != null) { produksiBahanBakuPenagihan.TBPenerimaanPOProduksiBahanBakus.ToList().ForEach(item => item.IDPOProduksiBahanBakuPenagihan = null); db.TBPOProduksiBahanBakuPenagihans.DeleteOnSubmit(produksiBahanBakuPenagihan); db.SubmitChanges(); IDPOProduksiBahanBakuPenagihan = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Invoice Purchase Order Bahan Baku (ButtonSimpan_Click by : " + pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { peringatan.Visible = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; bool statusBerhasil = false; try { if (TextBoxTotalSisaTagihan.Text.ToDecimal() >= TextBoxBayar.Text.ToDecimal()) { TBPOProduksiBahanBakuPenagihan produksiBahanBakuPenagihan = db.TBPOProduksiBahanBakuPenagihans.FirstOrDefault(item => item.IDPOProduksiBahanBakuPenagihan == Request.QueryString["id"]); produksiBahanBakuPenagihan.TBPOProduksiBahanBakuPenagihanDetails.Add(new TBPOProduksiBahanBakuPenagihanDetail { IDPengguna = pengguna.IDPengguna, Tanggal = TextBoxTanggalBayar.Text.ToDateTime(), IDJenisPembayaran = DropDownListJenisPembayaran.SelectedValue.ToInt(), Bayar = TextBoxBayar.Text.ToDecimal() }); produksiBahanBakuPenagihan.TotalBayar = produksiBahanBakuPenagihan.TBPOProduksiBahanBakuPenagihanDetails.Sum(item => item.Bayar); produksiBahanBakuPenagihan.StatusPembayaran = produksiBahanBakuPenagihan.TotalTagihan == produksiBahanBakuPenagihan.TotalBayar ? true : false; produksiBahanBakuPenagihan.Keterangan = TextBoxKeterangan.Text; foreach (var item in produksiBahanBakuPenagihan.TBPOProduksiBahanBakuReturs) { item.EnumStatusRetur = (int)EnumStatusPORetur.Selesai; } #region Arie, Input Jurnal Pembayaran Hutang PO //var KonfigurasiAkun = db.TBKonfigurasiAkuns.Where(item => item.IDTempat == 1); //TBJurnal Jurnal = new TBJurnal //{ // IDTempat = 1, // Tanggal = TextBoxTanggalBayar.Text.ToDateTime(), // Keterangan = TextBoxKeterangan.Text, // IDPengguna = pengguna.IDPengguna, // Referensi = produksiBahanBakuPenagihan.IDPOProduksiBahanBakuPenagihan //}; //#region JURNAL ////DEBIT : PERSEDIAAN ////KREDIT : HUTANG DAGANG ////KAS //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //{ // IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == produksiBahanBakuPenagihan.IDJenisPembayaran.ToString()).IDAkun, // Debit = 0, // Kredit = produksiBahanBakuPenagihan.Grandtotal //}); ////HUTANG DAGANG //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //{ // IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "HUTANG DAGANG").IDAkun, // Debit = produksiBahanBakuPenagihan.Grandtotal, // Kredit = 0 //}); //db.TBJurnals.InsertOnSubmit(Jurnal); //#endregion #endregion db.SubmitChanges(); statusBerhasil = true; } else { LabelPeringatan.Text = "Total Bayar harus lebih kecil dari sisa tagihan"; peringatan.Visible = true; } } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, "Bayar Penagihan (ButtonSimpan_Click by : " + pengguna.NamaLengkap + ")"); } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } } }