protected void RepeaterDataPO_ItemCommand(object source, RepeaterCommandEventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (e.CommandName == "Hapus") { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == e.CommandArgument.ToString()); if (poProduksiBahanBaku.IDProyeksi != null) { foreach (var item in db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == poProduksiBahanBaku.IDProyeksi && item.LevelProduksi == Request.QueryString["urutan"].ToInt() && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray()) { TBPOProduksiBahanBakuDetail poProduksiBahanBakuDetail = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); if (poProduksiBahanBakuDetail != null) { item.Sisa = item.Sisa + (poProduksiBahanBakuDetail.Jumlah * poProduksiBahanBakuDetail.TBBahanBaku.Konversi.Value); } } } db.TBPOProduksiBahanBakuBiayaTambahans.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans); db.TBPOProduksiBahanBakuKomposisis.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis); db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuDetails); db.TBPOProduksiBahanBakus.DeleteOnSubmit(poProduksiBahanBaku); db.SubmitChanges(); LoadDataPO(db); } } }
protected void DropDownListIDPOProduksi_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); var SisaDataDetailPOProduk = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.AsEnumerable() .Where(item => item.Sisa > 0) .Select(item => new { item.IDBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, Sisa = item.Sisa.ToFormatHarga() }); if (SisaDataDetailPOProduk.Count() == 0) { ButtonTerima.Visible = false; } RepeaterDetail.DataSource = SisaDataDetailPOProduk; RepeaterDetail.DataBind(); } else { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; TextBoxPegawaiProses.Text = pengguna.NamaLengkap; TextBoxTanggalProses.Text = DateTime.Now.ToString("d MMMM yyyy"); TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); var komposisi = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Where(item => item.Sisa > 0).Select(item => new { item.IDBahanBaku, BahanBaku = item.TBBahanBaku.Nama, SatuanPO = item.TBSatuan.Nama, Sisa = item.Sisa.ToFormatHarga(), Stok = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku).Jumlah.Value.ToFormatHarga(), SatuanStok = item.TBBahanBaku.TBSatuan.Nama }).OrderBy(item => item.BahanBaku); RepeaterKomposisi.DataSource = komposisi; //poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); if (komposisi.Count() == 0) { ButtonSimpan.Visible = false; } } } }
protected void DropDownListIDPOProduksi_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { ButtonSimpan.Enabled = false; if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiBahanBaku.TotalJumlah.ToFormatHarga(); LabelTotalSubtotal.Text = poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); LabelTotalSisa.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(data => data.Sisa).ToFormatHarga(); TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; TextBoxBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); ButtonSimpan.Enabled = true; } else { TextBoxStatusHPP.Text = string.Empty; TextBoxPegawaiPIC.Text = string.Empty; TextBoxPembuat.Text = string.Empty; TextBoxTanggalJatuhTempo.Text = string.Empty; TextBoxTanggalPengiriman.Text = string.Empty; RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); LabelTotalJumlah.Text = "0"; LabelTotalSubtotal.Text = "0"; LabelTotalSisa.Text = "0"; TextBoxKeterangan.Text = string.Empty; TextBoxBiayaLainLain.Text = "0"; TextBoxPotonganPO.Text = "0"; LabelTax.Text = "Tax (0%)"; TextBoxTax.Text = "0"; TextBoxGrandtotal.Text = "0"; } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; if (Page.IsValid) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; try { if (TextBoxDownPayment.Text.ToDecimal() > 0) { if (TextBoxDownPayment.Text.ToDecimal() <= TextBoxGrandtotal.Text.ToDecimal()) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); poProduksiBahanBaku.IDPenggunaDP = pengguna.IDPengguna; poProduksiBahanBaku.IDJenisPembayaran = DropDownListJenisPembayaran.SelectedValue.ToInt(); poProduksiBahanBaku.TanggalDownPayment = TextBoxTanggal.Text.ToDateTime(); poProduksiBahanBaku.DownPayment = TextBoxDownPayment.Text.ToDecimal(); db.SubmitChanges(); statusBerhasil = true; } } else { LabelPeringatan.Text = "Down Payment harus lebih kecil dari grandtotal"; peringatan.Visible = true; } } else { LabelPeringatan.Text = "Down Payment harus lebih besar dari 0"; peringatan.Visible = true; } } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, "Down Payment Purchase Order Produk (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 Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiBahanBaku.TotalJumlah.ToFormatHarga(); LabelTotalSubtotal.Text = poProduksiBahanBaku.SubtotalTotalHPP.ToFormatHarga(); LabelTotalSisa.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(data => data.Sisa).ToFormatHarga(); RepeaterKomposisi.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); RepeaterPengiriman.DataSource = db.TBPengirimanPOProduksiBahanBakus.Where(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]).Select(item => new { item.IDPengirimanPOProduksiBahanBaku, item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPengiriman.aspx?id=" + item.IDPengirimanPOProduksiBahanBaku + "')" }).ToArray(); RepeaterPengiriman.DataBind(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiBahanBakus.Where(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiBahanBaku, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiBahanBaku + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiBahanBaku.TBPenerimaanPOProduksiBahanBakus.Count > 0 || poProduksiBahanBaku.TBPengirimanPOProduksiBahanBakus.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void RepeaterPOProduksiDetail_ItemCommand(object source, RepeaterCommandEventArgs e) { MultiViewPerformance.SetActiveView(ViewPOProduksiDetail); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == e.CommandArgument.ToString()); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo != null?poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal() : string.Empty; TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); TextBoxPegawai.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); if (poProduksiBahanBaku.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri) { TextBoxSupplierVendorTempat.Text = poProduksiBahanBaku.TBSupplier.Nama; TextBoxEmail.Text = poProduksiBahanBaku.TBSupplier.Email; TextBoxAlamat.Text = poProduksiBahanBaku.TBSupplier.Alamat; TextBoxTelepon1.Text = poProduksiBahanBaku.TBSupplier.Telepon1; TextBoxTelepon2.Text = poProduksiBahanBaku.TBSupplier.Telepon2; } else { TextBoxSupplierVendorTempat.Text = poProduksiBahanBaku.TBTempat.Nama; TextBoxEmail.Text = poProduksiBahanBaku.TBTempat.Email; TextBoxAlamat.Text = poProduksiBahanBaku.TBTempat.Alamat; TextBoxTelepon1.Text = poProduksiBahanBaku.TBTempat.Telepon1; TextBoxTelepon2.Text = poProduksiBahanBaku.TBTempat.Telepon2; } DetailBahanBaku.Visible = true; RepeaterPOProdusiBahanBakuDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new { item.TBBahanBaku.KodeBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, null, item.TBBahanBaku), Harga = poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.TotalHPP : item.TotalHargaSupplier, item.Jumlah, Datang = item.Jumlah - item.Sisa, item.Sisa }); RepeaterPOProdusiBahanBakuDetail.DataBind(); ButtonKembali.Visible = false; ButtonKembaliPOProduksi.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); TextBoxSupplier.Text = poProduksiBahanBaku.TBSupplier.Nama; TextBoxEmail.Text = poProduksiBahanBaku.TBSupplier.Email; TextBoxAlamat.Text = poProduksiBahanBaku.TBSupplier.Alamat; TextBoxTelepon1.Text = poProduksiBahanBaku.TBSupplier.Telepon1; TextBoxTelepon2.Text = poProduksiBahanBaku.TBSupplier.Telepon2; RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); LabelTotalSisa.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(data => data.Sisa).ToFormatHarga(); TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; TextBoxBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiBahanBakus.Where(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiBahanBaku, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiBahanBaku + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiBahanBaku.TBPenerimaanPOProduksiBahanBakus.Count > 0 || poProduksiBahanBaku.TBPengirimanPOProduksiBahanBakus.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void RepeaterDetail_ItemCreated(object sender, RepeaterItemEventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri) { ((HtmlTableCell)(e.Item.FindControl("bodyHarga"))).Attributes.Add("class", "hidden"); ((HtmlTableCell)(e.Item.FindControl("bodyPotongan"))).Attributes.Add("class", "hidden"); } else { ((HtmlTableCell)(e.Item.FindControl("bodyKomposisi"))).Attributes.Add("class", "hidden"); ((HtmlTableCell)(e.Item.FindControl("bodyBiaya"))).Attributes.Add("class", "hidden"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); TextBoxSupplier.Text = poProduksiBahanBaku.TBSupplier.Nama; TextBoxEmail.Text = poProduksiBahanBaku.TBSupplier.Email; TextBoxAlamat.Text = poProduksiBahanBaku.TBSupplier.Alamat; TextBoxTelepon1.Text = poProduksiBahanBaku.TBSupplier.Telepon1; TextBoxTelepon2.Text = poProduksiBahanBaku.TBSupplier.Telepon2; RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); LabelTotalSisa.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(data => data.Sisa).ToFormatHarga(); TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; TextBoxBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); TextBoxPembayar.Text = poProduksiBahanBaku.IDPenggunaDP != null ? poProduksiBahanBaku.TBPengguna2.NamaLengkap : string.Empty; TextBoxTanggalDP.Text = poProduksiBahanBaku.TanggalDownPayment != null?poProduksiBahanBaku.TanggalDownPayment.ToFormatTanggal() : string.Empty; TextBoxJenisPembayaran.Text = poProduksiBahanBaku.IDJenisPembayaran != null ? poProduksiBahanBaku.TBJenisPembayaran.Nama : string.Empty; TextBoxDownPayment.Text = poProduksiBahanBaku.DownPayment != null?poProduksiBahanBaku.DownPayment.ToFormatHarga() : string.Empty; } } }
protected void RepeaterDataPO_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Hapus") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == e.CommandArgument.ToString()); if (poProduksiBahanBaku.IDProyeksi != null) { foreach (var item in poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.OrderByDescending(data => data.TBBahanBaku.Nama)) { decimal jumlah = item.Jumlah * item.TBBahanBaku.Konversi.Value; foreach (var item2 in db.TBProyeksiKomposisis.Where(item2 => item2.IDProyeksi == poProduksiBahanBaku.IDProyeksi && item2.BahanBakuDasar == true && item2.IDBahanBaku == item.IDBahanBaku).OrderByDescending(item2 => item2.TBBahanBaku.Nama).ThenByDescending(item2 => item2.LevelProduksi)) { if (item2.Sisa + jumlah <= item2.Jumlah) { item2.Sisa = item2.Sisa + jumlah; jumlah = 0; break; } else { jumlah = (jumlah + item2.Sisa) - item2.Jumlah; item2.Sisa = item2.Jumlah; } } } } db.TBPOProduksiBahanBakuBiayaTambahans.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans); db.TBPOProduksiBahanBakuKomposisis.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis); db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(poProduksiBahanBaku.TBPOProduksiBahanBakuDetails); db.TBPOProduksiBahanBakus.DeleteOnSubmit(poProduksiBahanBaku); db.SubmitChanges(); LoadDataPO(db); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBStore store = db.TBStores.FirstOrDefault(); LabelNamaStore.Text = store.Nama; LabelAlamatStore.Text = store.Alamat; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); LabelJudul.Text = "(RAW MATERIAL)"; LabelNamaSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Nama : string.Empty; LabelAlamatSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi; LabelIDProduksi.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new { item.TBBahanBaku.KodeBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, null, item.TBBahanBaku), item.Jumlah, item.Sisa }).ToArray(); RepeaterDetail.DataBind(); } } }
private void LoadPOLama(DataClassesDatabaseDataContext db, string IDPOProduksiBahanBaku) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : string.Empty; TextBoxPegawai.Text = pengguna.NamaLengkap; DropDownListPenggunaPIC.SelectedValue = poProduksiBahanBaku.IDPenggunaPIC.ToString(); TextBoxTanggal.Text = poProduksiBahanBaku.Tanggal.ToString("d MMMM yyyy"); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman != null?poProduksiBahanBaku.TanggalPengiriman.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); TBStokBahanBaku[] daftarStokBahanBaku = null; if (TextBoxIDProyeksi.Text != string.Empty) { if (poProduksiBahanBaku.LevelProduksi != null) { TBProyeksiKomposisi[] proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text && item.LevelProduksi == poProduksiBahanBaku.LevelProduksi && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray(); daftarStokBahanBaku = db.TBStokBahanBakus.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiKomposisi.Any(data => data.IDBahanBaku == item.IDBahanBaku)).OrderBy(item => item.TBBahanBaku.Nama).ToArray(); } else { TBProyeksiKomposisi[] proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray(); daftarStokBahanBaku = db.TBStokBahanBakus.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiKomposisi.Any(data => data.IDBahanBaku == item.IDBahanBaku)).OrderBy(item => item.TBBahanBaku.Nama).ToArray(); } } else { daftarStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); } DropDownListStokBahanBaku.DataSource = daftarStokBahanBaku.Select(item => new { item.IDStokBahanBaku, item.TBBahanBaku.Nama }); DropDownListStokBahanBaku.DataTextField = "Nama"; DropDownListStokBahanBaku.DataValueField = "IDStokBahanBaku"; DropDownListStokBahanBaku.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in poProduksiBahanBaku.TBPOProduksiBahanBakuDetails) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDBahanBaku = stokBahanBaku.TBBahanBaku.IDBahanBaku; detail.IDSatuan = item.IDSatuan; detail.IDStokBahanBaku = stokBahanBaku.IDStokBahanBaku; detail.Kode = stokBahanBaku.TBBahanBaku.KodeBahanBaku; detail.BahanBaku = stokBahanBaku.TBBahanBaku.Nama; detail.Satuan = item.TBSatuan.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = detail.BiayaTambahan + detail.HargaPokokKomposisi; detail.Harga = 0; detail.PotonganHarga = 0; detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = item.Jumlah; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; LabelSatuan.Text = "/" + daftarStokBahanBaku.FirstOrDefault(item => item.IDStokBahanBaku == DropDownListStokBahanBaku.SelectedValue.ToInt()).TBBahanBaku.TBSatuan1.Nama; RadioButtonListStatusHPP.SelectedValue = poProduksiBahanBaku.EnumJenisHPP.ToString(); if (RadioButtonListStatusHPP.SelectedValue == ((int)PilihanEnumJenisHPP.Komposisi).ToString()) { PengaturanHPPKomposisi(db); } else { List <POProduksiKomposisi_Model> ViewStateListKomposisi = (List <POProduksiKomposisi_Model>)ViewState["ViewStateListKomposisi"]; List <POProduksiBiayaTambahan_Model> ViewStateListBiayaTambahan = (List <POProduksiBiayaTambahan_Model>)ViewState["ViewStateListBiayaTambahan"]; ViewStateListKomposisi.AddRange(poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Select(item => new POProduksiKomposisi_Model { IDBahanBaku = item.IDBahanBaku, IDSatuan = item.IDSatuan, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, HargaBeli = item.HargaBeli, JumlahKebutuhan = item.Kebutuhan, JumlahSisa = 0, JumlahKurang = 0 })); ViewState["ViewStateListKomposisi"] = ViewStateListKomposisi; ViewStateListBiayaTambahan.AddRange(poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Select(item => new POProduksiBiayaTambahan_Model { IDJenisBiayaProduksi = item.IDJenisBiayaProduksi, Nama = item.TBJenisBiayaProduksi.Nama, JumlahProduksi = 1, Biaya = item.Nominal })); ViewState["ViewStateListBiayaTambahan"] = ViewStateListBiayaTambahan; PengaturanHPPRataRata(); } TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; LoadData(); }
protected void ButtonSimpan_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; string IDPengirimanPOProduksiBahanBaku = string.Empty; TBPengirimanPOProduksiBahanBaku pengiriman = null; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { bool pengirimanSesuai = true; int baris = 0; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); EntitySet <TBPengirimanPOProduksiBahanBakuDetail> daftarKomposisi = new EntitySet <TBPengirimanPOProduksiBahanBakuDetail>(); foreach (RepeaterItem item in RepeaterKomposisi.Items) { baris++; Label LabelIDBahanBaku = (Label)item.FindControl("LabelIDBahanBaku"); TextBox TextBoxSisa = (TextBox)item.FindControl("TextBoxSisa"); TextBox TextBoxStok = (TextBox)item.FindControl("TextBoxStok"); TextBox TextBoxKirim = (TextBox)item.FindControl("TextBoxKirim"); if (TextBoxKirim.Text.ToDecimal() > 0) { if (TextBoxKirim.Text.ToDecimal() <= TextBoxStok.Text.ToDecimal()) { if (TextBoxKirim.Text.ToDecimal() <= TextBoxSisa.Text.ToDecimal()) { TBPOProduksiBahanBakuKomposisi poProduksiBahanBakuKomposisi = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.FirstOrDefault(data => data.IDBahanBaku == LabelIDBahanBaku.Text.ToInt()); daftarKomposisi.Add(new TBPengirimanPOProduksiBahanBakuDetail() { TBBahanBaku = poProduksiBahanBakuKomposisi.TBBahanBaku, TBSatuan = poProduksiBahanBakuKomposisi.TBSatuan, Kirim = TextBoxKirim.Text.ToDecimal() }); } else { LabelPeringatan.Text = "Jumlah kirim lebih besar dari jumlah kebutuhan, baris ke-" + baris.ToString(); peringatan.Visible = true; pengirimanSesuai = false; break; } } else { LabelPeringatan.Text = "Jumlah kirim lebih besar dari stok, baris ke-" + baris.ToString(); peringatan.Visible = true; pengirimanSesuai = false; break; } } } if (pengirimanSesuai == true) { if (daftarKomposisi.Count > 0) { TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); db.Proc_InsertPengirimanPOProduksiBahanBaku(ref IDPengirimanPOProduksiBahanBaku, poProduksiBahanBaku.IDPOProduksiBahanBaku, poProduksiBahanBaku.IDSupplier, pengguna.IDTempat, pengguna.IDPengguna, DateTime.Parse(TextBoxTanggalProses.Text).AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); pengiriman = db.TBPengirimanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPengirimanPOProduksiBahanBaku == IDPengirimanPOProduksiBahanBaku); foreach (var item in daftarKomposisi) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); StokBahanBaku_Class.UpdateBertambahBerkurang(db, pengiriman.Tanggal, pengguna.IDPengguna, stokBahanBaku, item.Kirim, stokBahanBaku.HargaBeli.Value, false, EnumJenisPerpindahanStok.PenguranganProduksi, "Production to Supplier #" + poProduksiBahanBaku.IDPOProduksiBahanBaku); TBPOProduksiBahanBakuKomposisi poProduksiBahanBakuKomposisi = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); item.HargaBeli = poProduksiBahanBakuKomposisi.HargaBeli; poProduksiBahanBakuKomposisi.Kirim = poProduksiBahanBakuKomposisi.Kirim + item.Kirim; poProduksiBahanBakuKomposisi.Sisa = poProduksiBahanBakuKomposisi.Sisa - item.Kirim; } pengiriman.TBPengirimanPOProduksiBahanBakuDetails = daftarKomposisi; pengiriman.Grandtotal = pengiriman.TBPengirimanPOProduksiBahanBakuDetails.Sum(item => (item.Kirim * item.HargaBeli)); pengiriman.Keterangan = null; db.SubmitChanges(); statusBerhasil = true; } else { LabelPeringatan.Text = "Tidak ada bahan baku yang dikirim"; peringatan.Visible = true; pengirimanSesuai = false; } } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { pengiriman = db.TBPengirimanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPengirimanPOProduksiBahanBaku == IDPengirimanPOProduksiBahanBaku); if (pengiriman != null) { db.TBPengirimanPOProduksiBahanBakuDetails.DeleteAllOnSubmit(pengiriman.TBPengirimanPOProduksiBahanBakuDetails); db.TBPengirimanPOProduksiBahanBakus.DeleteOnSubmit(pengiriman); db.SubmitChanges(); IDPengirimanPOProduksiBahanBaku = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan 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"); } } }
private void LoadPOLama(DataClassesDatabaseDataContext db, string IDPOProduksiBahanBaku) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : string.Empty; TextBoxPegawai.Text = pengguna.NamaLengkap; DropDownListPenggunaPIC.SelectedValue = poProduksiBahanBaku.IDPenggunaPIC.ToString(); TextBoxTanggal.Text = poProduksiBahanBaku.Tanggal.ToString("d MMMM yyyy"); TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo != null?poProduksiBahanBaku.TanggalJatuhTempo.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman != null?poProduksiBahanBaku.TanggalPengiriman.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); DropDownListSupplier.SelectedValue = poProduksiBahanBaku.IDSupplier.ToString(); HiddenFieldTax.Value = poProduksiBahanBaku.TBSupplier.PersentaseTax.ToString(); LabelTax.Text = "Tax (" + (poProduksiBahanBaku.TBSupplier.PersentaseTax * 100).ToFormatHarga() + "%)"; TBStokBahanBaku[] daftarStokBahanBaku = null; if (TextBoxIDProyeksi.Text != string.Empty) { var proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text && item.BahanBakuDasar == true).GroupBy(item => new { item.IDBahanBaku }).ToArray(); daftarStokBahanBaku = db.TBStokBahanBakus.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiKomposisi.Any(data => data.Key.IDBahanBaku == item.IDBahanBaku)).OrderBy(item => item.TBBahanBaku.Nama).ToArray(); } else { daftarStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); } DropDownListStokBahanBaku.DataSource = daftarStokBahanBaku.Select(item => new { item.IDStokBahanBaku, item.TBBahanBaku.Nama }); DropDownListStokBahanBaku.DataTextField = "Nama"; DropDownListStokBahanBaku.DataValueField = "IDStokBahanBaku"; DropDownListStokBahanBaku.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in poProduksiBahanBaku.TBPOProduksiBahanBakuDetails) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDBahanBaku = stokBahanBaku.TBBahanBaku.IDBahanBaku; detail.IDSatuan = item.IDSatuan; detail.IDStokBahanBaku = stokBahanBaku.IDStokBahanBaku; detail.Kode = stokBahanBaku.TBBahanBaku.KodeBahanBaku; detail.BahanBaku = stokBahanBaku.TBBahanBaku.Nama; detail.Satuan = item.TBSatuan.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = detail.BiayaTambahan + detail.HargaPokokKomposisi; detail.Harga = item.HargaSupplier; detail.PotonganHarga = item.PotonganHargaSupplier; detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = item.Jumlah; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; TextBoxBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LoadData(); decimal subtotal = (LabelTotalSubtotal.Text.ToDecimal() + poProduksiBahanBaku.BiayaLainLain.Value - poProduksiBahanBaku.PotonganPOProduksiBahanBaku.Value); decimal tax = subtotal * HiddenFieldTax.Value.ToDecimal(); TextBoxTax.Text = tax.ToFormatHarga(); TextBoxGrandtotal.Text = (subtotal + tax).ToFormatHarga(); CariHargaSupplierVendor(); }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (Page.IsValid) { peringatan.Visible = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; if (ViewStateListDetail.Count > 0) { string IDPOProduksiBahanBaku = string.Empty; TBPOProduksiBahanBaku produksiBahanBaku = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["edit"]); if (produksiBahanBaku.IDProyeksi != null) { foreach (var item in produksiBahanBaku.TBPOProduksiBahanBakuDetails.OrderByDescending(data => data.TBBahanBaku.Nama)) { decimal jumlah = item.Jumlah * item.TBBahanBaku.Konversi.Value; foreach (var item2 in db.TBProyeksiKomposisis.Where(item2 => item2.IDProyeksi == produksiBahanBaku.IDProyeksi && item2.BahanBakuDasar == true && item2.IDBahanBaku == item.IDBahanBaku).OrderByDescending(item2 => item2.TBBahanBaku.Nama).ThenByDescending(item2 => item2.LevelProduksi)) { if (item2.Sisa + jumlah <= item2.Jumlah) { item2.Sisa = item2.Sisa + jumlah; jumlah = 0; break; } else { jumlah = (jumlah + item2.Sisa) - item2.Jumlah; item2.Sisa = item2.Jumlah; } } } } db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuDetails); produksiBahanBaku.TBPOProduksiBahanBakuDetails.Clear(); produksiBahanBaku.IDTempat = pengguna.IDTempat; produksiBahanBaku.IDPengguna = pengguna.IDPengguna; produksiBahanBaku.EnumJenisProduksi = (int)PilihanEnumJenisProduksi.PurchaseOrder; produksiBahanBaku.Tanggal = TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute); } else { db.Proc_InsertPOProduksiBahanBaku(ref IDPOProduksiBahanBaku, pengguna.IDTempat, pengguna.IDPengguna, (int)PilihanEnumJenisProduksi.PurchaseOrder, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); } produksiBahanBaku.IDProyeksi = TextBoxIDProyeksi.Text != string.Empty ? TextBoxIDProyeksi.Text : null; produksiBahanBaku.IDSupplier = DropDownListSupplier.SelectedValue.ToInt(); produksiBahanBaku.IDPenggunaPIC = DropDownListPenggunaPIC.SelectedValue.ToInt(); produksiBahanBaku.IDPenggunaDP = null; produksiBahanBaku.IDJenisPOProduksi = null; produksiBahanBaku.IDJenisPembayaran = null; produksiBahanBaku.LevelProduksi = null; produksiBahanBaku.TanggalDownPayment = null; produksiBahanBaku.TanggalJatuhTempo = TextBoxTanggalJatuhTempo.Text.ToDateTime(); produksiBahanBaku.TanggalPengiriman = TextBoxTanggalPengiriman.Text.ToDateTime(); produksiBahanBaku.TBPOProduksiBahanBakuDetails.AddRange(ViewStateListDetail.OrderBy(item => item.BahanBaku).Select(item => new TBPOProduksiBahanBakuDetail { IDBahanBaku = item.IDBahanBaku, IDSatuan = item.IDSatuan, HargaPokokKomposisi = item.HargaPokokKomposisi, BiayaTambahan = item.BiayaTambahan, TotalHPP = item.TotalHPP, HargaSupplier = item.Harga, PotonganHargaSupplier = item.PotonganHarga, TotalHargaSupplier = item.TotalHarga, Jumlah = item.Jumlah, Sisa = item.Sisa })); produksiBahanBaku.TotalJumlah = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => item.Jumlah); produksiBahanBaku.EnumJenisHPP = (int)PilihanEnumJenisHPP.HargaSupplierVendor; produksiBahanBaku.SubtotalBiayaTambahan = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.BiayaTambahan)); produksiBahanBaku.SubtotalTotalHPP = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.TotalHPP)); produksiBahanBaku.SubtotalTotalHargaSupplier = Math.Round(produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.TotalHargaSupplier)), 2, MidpointRounding.AwayFromZero); produksiBahanBaku.PotonganPOProduksiBahanBaku = TextBoxPotonganPO.Text.ToDecimal(); produksiBahanBaku.BiayaLainLain = TextBoxBiayaLainLain.Text.ToDecimal(); produksiBahanBaku.PersentaseTax = HiddenFieldTax.Value.ToDecimal(); decimal subtotal = produksiBahanBaku.SubtotalTotalHargaSupplier.Value + produksiBahanBaku.BiayaLainLain.Value - produksiBahanBaku.PotonganPOProduksiBahanBaku.Value; produksiBahanBaku.Tax = Math.Round((subtotal * produksiBahanBaku.PersentaseTax.Value), 2, MidpointRounding.AwayFromZero); produksiBahanBaku.Grandtotal = subtotal + produksiBahanBaku.Tax; produksiBahanBaku.DownPayment = 0; produksiBahanBaku.Keterangan = TextBoxKeterangan.Text; if (produksiBahanBaku.IDProyeksi != null) { foreach (var item in produksiBahanBaku.TBPOProduksiBahanBakuDetails.OrderBy(data => data.TBBahanBaku.Nama)) { decimal jumlah = item.Jumlah * item.TBBahanBaku.Konversi.Value; TBProyeksiKomposisi[] proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item2 => item2.IDProyeksi == produksiBahanBaku.IDProyeksi && item2.BahanBakuDasar == true && item2.IDBahanBaku == item.IDBahanBaku).OrderBy(item2 => item2.TBBahanBaku.Nama).ThenBy(item2 => item2.LevelProduksi).ToArray(); int count = proyeksiKomposisi.Count(); foreach (var item2 in proyeksiKomposisi) { if (item2.Sisa - jumlah >= 0) { item2.Sisa = item2.Sisa - jumlah; jumlah = 0; break; } else { if (count > 1) { jumlah = Math.Abs(item2.Sisa - jumlah); item2.Sisa = 0; } else { item2.Sisa = item2.Sisa - jumlah; } } count = count - 1; } } } TBHargaSupplier[] daftarHargaSupplier = db.TBHargaSuppliers.Where(item => item.IDSupplier == produksiBahanBaku.IDSupplier).ToArray(); foreach (var item in ViewStateListDetail) { TBHargaSupplier hargaSupplier = daftarHargaSupplier.FirstOrDefault(data => data.IDStokBahanBaku == item.IDStokBahanBaku); if (hargaSupplier == null) { db.TBHargaSuppliers.InsertOnSubmit(new TBHargaSupplier() { IDStokBahanBaku = item.IDStokBahanBaku, IDSupplier = produksiBahanBaku.IDSupplier, Tanggal = produksiBahanBaku.Tanggal, Harga = item.Harga }); } else { hargaSupplier.Tanggal = produksiBahanBaku.Tanggal; hargaSupplier.Harga = item.Harga; } } db.SubmitChanges(); statusBerhasil = true; } } catch (Exception ex) { if (statusBerhasil != true && string.IsNullOrEmpty(Request.QueryString["edit"])) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); if (produksiBahanBaku != null) { db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuDetails); db.TBPOProduksiBahanBakus.DeleteOnSubmit(produksiBahanBaku); db.SubmitChanges(); IDPOProduksiBahanBaku = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "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) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { Response.Redirect("Detail.aspx?id=" + produksiBahanBaku.IDPOProduksiBahanBaku); } else { Response.Redirect("Default.aspx"); } } } } else { LabelPeringatan.Text = "Tidak ada Bahan Baku yang dipilih"; peringatan.Visible = true; } } }
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) { if (Page.IsValid) { peringatan.Visible = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; List <POProduksiKomposisi_Model> ViewStateListKomposisi = (List <POProduksiKomposisi_Model>)ViewState["ViewStateListKomposisi"]; List <POProduksiBiayaTambahan_Model> ViewStateListBiayaTambahan = (List <POProduksiBiayaTambahan_Model>)ViewState["ViewStateListBiayaTambahan"]; if (ViewStateListDetail.Count > 0) { string IDPOProduksiBahanBaku = string.Empty; TBPOProduksiBahanBaku produksiBahanBaku = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["edit"]); if (produksiBahanBaku.IDProyeksi != null) { foreach (var item in db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == produksiBahanBaku.IDProyeksi && item.LevelProduksi == produksiBahanBaku.LevelProduksi && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray()) { TBPOProduksiBahanBakuDetail poProduksiBahanBakuDetail = produksiBahanBaku.TBPOProduksiBahanBakuDetails.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); if (poProduksiBahanBakuDetail != null) { item.Sisa = item.Sisa + (poProduksiBahanBakuDetail.Jumlah * poProduksiBahanBakuDetail.TBBahanBaku.Konversi.Value); } } } db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuDetails); db.TBPOProduksiBahanBakuKomposisis.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuKomposisis); db.TBPOProduksiBahanBakuBiayaTambahans.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans); produksiBahanBaku.TBPOProduksiBahanBakuDetails.Clear(); produksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Clear(); produksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Clear(); produksiBahanBaku.IDTempat = pengguna.IDTempat; produksiBahanBaku.IDPengguna = pengguna.IDPengguna; produksiBahanBaku.EnumJenisProduksi = (int)PilihanEnumJenisProduksi.ProduksiSendiri; produksiBahanBaku.Tanggal = TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute); } else { db.Proc_InsertPOProduksiBahanBaku(ref IDPOProduksiBahanBaku, pengguna.IDTempat, pengguna.IDPengguna, (int)PilihanEnumJenisProduksi.ProduksiSendiri, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); } produksiBahanBaku.IDProyeksi = TextBoxIDProyeksi.Text != string.Empty ? TextBoxIDProyeksi.Text : null; produksiBahanBaku.IDSupplier = null; produksiBahanBaku.IDPenggunaPIC = DropDownListPenggunaPIC.SelectedValue.ToInt(); produksiBahanBaku.IDPenggunaDP = null; produksiBahanBaku.IDJenisPOProduksi = null; produksiBahanBaku.IDJenisPembayaran = null; if (!string.IsNullOrEmpty(Request.QueryString["proy"])) { produksiBahanBaku.LevelProduksi = Request.QueryString["level"].ToInt(); } else if (string.IsNullOrEmpty(Request.QueryString["proy"]) && string.IsNullOrEmpty(Request.QueryString["edit"])) { produksiBahanBaku.LevelProduksi = null; } produksiBahanBaku.TanggalDownPayment = null; produksiBahanBaku.TanggalJatuhTempo = null; produksiBahanBaku.TanggalPengiriman = TextBoxTanggalPengiriman.Text.ToDateTime(); produksiBahanBaku.TBPOProduksiBahanBakuDetails.AddRange(ViewStateListDetail.Select(item => new TBPOProduksiBahanBakuDetail { IDBahanBaku = item.IDBahanBaku, IDSatuan = item.IDSatuan, HargaPokokKomposisi = item.HargaPokokKomposisi, BiayaTambahan = item.BiayaTambahan, TotalHPP = item.TotalHPP, HargaSupplier = item.Harga, PotonganHargaSupplier = item.PotonganHarga, TotalHargaSupplier = item.TotalHarga, Jumlah = item.Jumlah, Sisa = item.Sisa })); produksiBahanBaku.TotalJumlah = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => item.Jumlah); produksiBahanBaku.EnumJenisHPP = RadioButtonListStatusHPP.SelectedValue.ToInt(); produksiBahanBaku.SubtotalBiayaTambahan = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.BiayaTambahan)); produksiBahanBaku.SubtotalTotalHPP = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.TotalHPP)); produksiBahanBaku.SubtotalTotalHargaSupplier = produksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(item => (item.Jumlah * item.TotalHargaSupplier)); produksiBahanBaku.PotonganPOProduksiBahanBaku = 0; produksiBahanBaku.BiayaLainLain = 0; produksiBahanBaku.PersentaseTax = 0; produksiBahanBaku.Tax = 0; produksiBahanBaku.Grandtotal = produksiBahanBaku.SubtotalTotalHPP; produksiBahanBaku.DownPayment = 0; produksiBahanBaku.Keterangan = TextBoxKeterangan.Text; produksiBahanBaku.TBPOProduksiBahanBakuKomposisis.AddRange(ViewStateListKomposisi.OrderBy(item => item.BahanBaku).GroupBy(item => new { item.IDBahanBaku, item.IDSatuan, item.HargaBeli }) .Select(item => new TBPOProduksiBahanBakuKomposisi { IDBahanBaku = item.Key.IDBahanBaku, IDSatuan = item.Key.IDSatuan, HargaBeli = item.Key.HargaBeli, Kebutuhan = item.Sum(x => x.JumlahKebutuhan), Kirim = 0, Sisa = item.Sum(x => x.JumlahKebutuhan) })); produksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.AddRange(ViewStateListBiayaTambahan.OrderBy(item => item.Nama).GroupBy(item => new { item.IDJenisBiayaProduksi }) .Select(item => new TBPOProduksiBahanBakuBiayaTambahan { IDJenisBiayaProduksi = item.Key.IDJenisBiayaProduksi, Nominal = item.Sum(x => x.SubtotalBiaya) })); if (produksiBahanBaku.IDProyeksi != null) { foreach (var item in db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == produksiBahanBaku.IDProyeksi && item.LevelProduksi == produksiBahanBaku.LevelProduksi && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray()) { TBPOProduksiBahanBakuDetail poProduksiBahanBakuDetail = produksiBahanBaku.TBPOProduksiBahanBakuDetails.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); if (poProduksiBahanBakuDetail != null) { item.Sisa = item.Sisa - (poProduksiBahanBakuDetail.Jumlah * poProduksiBahanBakuDetail.TBBahanBaku.Konversi.Value); } } } db.SubmitChanges(); statusBerhasil = true; } } catch (Exception ex) { if (statusBerhasil != true && string.IsNullOrEmpty(Request.QueryString["edit"])) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == IDPOProduksiBahanBaku); if (produksiBahanBaku != null) { db.TBPOProduksiBahanBakuDetails.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuDetails); db.TBPOProduksiBahanBakuKomposisis.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuKomposisis); db.TBPOProduksiBahanBakuBiayaTambahans.DeleteAllOnSubmit(produksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans); db.TBPOProduksiBahanBakus.DeleteOnSubmit(produksiBahanBaku); db.SubmitChanges(); IDPOProduksiBahanBaku = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Produksi Bahan Baku Sendiri (ButtonSimpan_Click by : " + pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { Response.Redirect("Detail.aspx?id=" + produksiBahanBaku.IDPOProduksiBahanBaku); } else { Response.Redirect("Default.aspx"); } } } } else { LabelPeringatan.Text = "Tidak ada Bahan Baku yang dipilih"; peringatan.Visible = true; } } }
protected void ButtonTerima_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPenerimaanPOProduksiBahanBaku = string.Empty; string IDTransferBahanBaku = string.Empty; TBPenerimaanPOProduksiBahanBaku penerimaan = null; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); bool penerimaanSesuai = true; EntitySet <TBPenerimaanPOProduksiBahanBakuDetail> daftarDetail = new EntitySet <TBPenerimaanPOProduksiBahanBakuDetail>(); int baris = 0; foreach (RepeaterItem item in RepeaterDetail.Items) { baris++; Label LabelIDBahanBaku = (Label)item.FindControl("LabelIDBahanBaku"); TextBox TextBoxSisaPesanan = (TextBox)item.FindControl("TextBoxSisaPesanan"); TextBox TextBoxJumlahDatang = (TextBox)item.FindControl("TextBoxJumlahDatang"); TextBox TextBoxJumlahTerima = (TextBox)item.FindControl("TextBoxJumlahTerima"); TextBox TextBoxJumlahTolakKeSupplier = (TextBox)item.FindControl("TextBoxJumlahTolakKeSupplier"); if (TextBoxJumlahDatang.Text.ToDecimal() > 0) { if (TextBoxJumlahDatang.Text.ToDecimal() >= TextBoxJumlahTerima.Text.ToDecimal()) { TBPOProduksiBahanBakuDetail poProduksiBahanBakuDetail = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.FirstOrDefault(data => data.IDBahanBaku == LabelIDBahanBaku.Text.ToInt()); daftarDetail.Add(new TBPenerimaanPOProduksiBahanBakuDetail() { TBBahanBaku = poProduksiBahanBakuDetail.TBBahanBaku, TBSatuan = poProduksiBahanBakuDetail.TBSatuan, BiayaTambahan = poProduksiBahanBakuDetail.BiayaTambahan, HargaPokokKomposisi = poProduksiBahanBakuDetail.HargaPokokKomposisi, TotalHPP = poProduksiBahanBakuDetail.TotalHPP, HargaSupplier = poProduksiBahanBakuDetail.HargaSupplier, PotonganHargaSupplier = poProduksiBahanBakuDetail.PotonganHargaSupplier, TotalHargaSupplier = poProduksiBahanBakuDetail.TotalHargaSupplier, Datang = TextBoxJumlahDatang.Text.ToDecimal(), Diterima = TextBoxJumlahTerima.Text.ToDecimal(), TolakKeSupplier = TextBoxJumlahTolakKeSupplier.Text.ToDecimal(), Sisa = TextBoxJumlahTerima.Text.ToDecimal() <= TextBoxSisaPesanan.Text.ToDecimal() ? TextBoxSisaPesanan.Text.ToDecimal() - TextBoxJumlahTerima.Text.ToDecimal() : 0 }); } else { LabelPeringatan.Text = "Jumlah diterima lebih besar dari jumlah datang, baris ke-" + baris.ToString(); peringatan.Visible = true; penerimaanSesuai = false; break; } } } if (penerimaanSesuai == true) { TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.Where(data => data.IDTempat == pengguna.IDTempat).ToArray(); db.Proc_InsertPenerimaanPOProduksiBahanBaku(ref IDPenerimaanPOProduksiBahanBaku, poProduksiBahanBaku.IDPOProduksiBahanBaku, poProduksiBahanBaku.IDSupplier, pengguna.IDTempat, pengguna.IDPengguna, DateTime.Parse(TextBoxTanggalPenerimaan.Text).AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); penerimaan = db.TBPenerimaanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPenerimaanPOProduksiBahanBaku == IDPenerimaanPOProduksiBahanBaku); penerimaan.IDPenggunaTerima = penerimaan.IDPenggunaDatang; penerimaan.TanggalTerima = penerimaan.TanggalDatang; penerimaan.TBPenerimaanPOProduksiBahanBakuDetails = daftarDetail; penerimaan.TotalDatang = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.Datang); penerimaan.TotalDiterima = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.Diterima); penerimaan.TotalTolakKeSupplier = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.TolakKeSupplier); penerimaan.TotalSisa = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.Sisa); penerimaan.SubtotalBiayaTambahan = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.BiayaTambahan * item.Diterima); penerimaan.SubtotalTotalHPP = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.TotalHPP * item.Diterima); penerimaan.SubtotalTotalHargaSupplier = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.Sum(item => item.TotalHargaSupplier * item.Diterima); penerimaan.Grandtotal = penerimaan.SubtotalTotalHPP + penerimaan.SubtotalTotalHargaSupplier; penerimaan.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima; penerimaan.Keterangan = TextBoxKeterangan.Text; foreach (var item in penerimaan.TBPenerimaanPOProduksiBahanBakuDetails) { TBPOProduksiBahanBakuDetail poProduksiBahanBakuDetail = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); poProduksiBahanBakuDetail.Sisa = item.Sisa; TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); StokBahanBaku_Class.PengaturanJumlahStokPenerimaanPOBahanBaku(db, penerimaan.TanggalTerima.Value, pengguna.IDPengguna, pengguna.IDTempat, stokBahanBaku, (item.TotalHPP + item.TotalHargaSupplier), item.TBSatuan, item.Datang, item.TolakKeSupplier, item.TBPenerimaanPOProduksiBahanBaku.TBPOProduksiBahanBaku.IDPOProduksiBahanBaku + " - #" + item.TBPenerimaanPOProduksiBahanBaku.IDPenerimaanPOProduksiBahanBaku); } poProduksiBahanBaku.TBPenerimaanPOProduksiBahanBakus.Add(penerimaan); db.SubmitChanges(); statusBerhasil = true; } else { peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { penerimaan = db.TBPenerimaanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPenerimaanPOProduksiBahanBaku == IDPenerimaanPOProduksiBahanBaku); if (penerimaan != null) { db.TBPenerimaanPOProduksiBahanBakuDetails.DeleteAllOnSubmit(penerimaan.TBPenerimaanPOProduksiBahanBakuDetails); db.TBPenerimaanPOProduksiBahanBakus.DeleteOnSubmit(penerimaan); db.SubmitChanges(); IDPenerimaanPOProduksiBahanBaku = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan Produksi Ke Supplier (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 Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBStore store = db.TBStores.FirstOrDefault(); LabelNamaStore.Text = store.Nama; LabelAlamatStore.Text = store.Alamat; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); LabelJudul.Text = Pengaturan.JenisPOProduksi(poProduksiBahanBaku.EnumJenisProduksi, "BahanBaku"); LabelIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; LabelNamaSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Nama : string.Empty; LabelAlamatSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : string.Empty; LabelIDProduksi.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; LabelTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); LabelTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); LabelPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new { item.TBBahanBaku.KodeBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, item.HargaPokokKomposisi, item.BiayaTambahan, item.HargaSupplier, item.PotonganHargaSupplier, item.Jumlah, Subtotal = item.TBPOProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.SubtotalHPP : item.SubtotalHargaSupplier }).ToArray(); RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? poProduksiBahanBaku.SubtotalTotalHPP.ToFormatHarga() : poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri) { headerHarga.Visible = false; headerPotongan.Visible = false; } else { headerKomposisi.Visible = false; headerBiaya.Visible = false; } RepeaterKomposisi.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); LabelBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); LabelPotongan.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelJudulTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; LabelTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); LabelGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); LiteralKeterangan.Text = "<b>Keterangan :</b><br/>" + poProduksiBahanBaku.Keterangan; if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.PurchaseOrder) { komposisi.Visible = false; } } } }