protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; 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 = poProduksiProduk.TBPOProduksiProdukKomposisis.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; //poProduksiProduk.TBPOProduksiProdukKomposisis.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()) { if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); var SisaDataDetailPOProduk = poProduksiProduk.TBPOProduksiProdukDetails.AsEnumerable() .Where(item => item.Sisa > 0) .Select(item => new { item.IDKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, Atribut = item.TBKombinasiProduk.TBAtributProduk.Nama, Sisa = item.Sisa.ToFormatHargaBulat() }); if (SisaDataDetailPOProduk.Count() == 0) { ButtonTerima.Visible = false; } RepeaterDetail.DataSource = SisaDataDetailPOProduk; RepeaterDetail.DataBind(); } else { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); } } }
protected void RepeaterDataPO_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Hapus") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == e.CommandArgument.ToString()); if (poProduksiProduk.IDProyeksi != null) { foreach (var item in db.TBProyeksiDetails.Where(item => item.IDProyeksi == poProduksiProduk.IDProyeksi).OrderBy(data => data.TBKombinasiProduk.Nama).ToArray()) { TBPOProduksiProdukDetail poProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); if (poProduksiProdukDetail != null) { item.Sisa = item.Sisa + poProduksiProdukDetail.Jumlah; } } } db.TBPOProduksiProdukBiayaTambahans.DeleteAllOnSubmit(poProduksiProduk.TBPOProduksiProdukBiayaTambahans); db.TBPOProduksiProdukKomposisis.DeleteAllOnSubmit(poProduksiProduk.TBPOProduksiProdukKomposisis); db.TBPOProduksiProdukDetails.DeleteAllOnSubmit(poProduksiProduk.TBPOProduksiProdukDetails); db.TBPOProduksiProduks.DeleteOnSubmit(poProduksiProduk); db.SubmitChanges(); LoadDataPO(db); } } }
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"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.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()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); poProduksiProduk.IDPenggunaDP = pengguna.IDPengguna; poProduksiProduk.IDJenisPembayaran = DropDownListJenisPembayaran.SelectedValue.ToInt(); poProduksiProduk.TanggalDownPayment = TextBoxTanggal.Text.ToDateTime(); poProduksiProduk.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 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 RepeaterPOProduksiDetail_ItemCommand(object source, RepeaterCommandEventArgs e) { MultiViewPerformance.SetActiveView(ViewPOProduksiDetail); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiBProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == e.CommandArgument.ToString()); TextBoxIDProyeksi.Text = poProduksiBProduk.IDProyeksi != null ? poProduksiBProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBProduk.TBPengguna1.NamaLengkap; TextBoxTanggalJatuhTempo.Text = poProduksiBProduk.TanggalJatuhTempo != null?poProduksiBProduk.TanggalJatuhTempo.ToFormatTanggal() : string.Empty; TextBoxTanggalPengiriman.Text = poProduksiBProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBProduk.TanggalJatuhTempo != null?poProduksiBProduk.TanggalJatuhTempo.ToFormatTanggal() : string.Empty; TextBoxTanggalPengiriman.Text = poProduksiBProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxPegawai.Text = poProduksiBProduk.TBPengguna.NamaLengkap + " / " + poProduksiBProduk.Tanggal.ToFormatTanggal(); if (poProduksiBProduk.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri) { TextBoxVendorTempat.Text = poProduksiBProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiBProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiBProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiBProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiBProduk.TBVendor.Telepon2; } else { TextBoxVendorTempat.Text = poProduksiBProduk.TBTempat.Nama; TextBoxEmail.Text = poProduksiBProduk.TBTempat.Email; TextBoxAlamat.Text = poProduksiBProduk.TBTempat.Alamat; TextBoxTelepon1.Text = poProduksiBProduk.TBTempat.Telepon1; TextBoxTelepon2.Text = poProduksiBProduk.TBTempat.Telepon2; } DetailProduk.Visible = true; RepeaterPOProduksiProdukDetail.DataSource = poProduksiBProduk.TBPOProduksiProdukDetails.Select(item => new { item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, item.TBKombinasiProduk), Harga = poProduksiBProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.TotalHPP : item.TotalHargaVendor, item.Jumlah, Datang = item.Jumlah - item.Sisa, item.Sisa }); RepeaterPOProduksiProdukDetail.DataBind(); ButtonKembali.Visible = false; ButtonKembaliPOProduksi.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); RepeaterKomposisi.DataSource = poProduksiProduk.TBPOProduksiProdukKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiProduk.TBPOProduksiProdukKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); RepeaterPengiriman.DataSource = db.TBPengirimanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPengirimanPOProduksiProduk, item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPengiriman.aspx?id=" + item.IDPengirimanPOProduksiProduk + "')" }).ToArray(); RepeaterPengiriman.DataBind(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxVendor.Text = poProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void RepeaterDetail_ItemCreated(object sender, RepeaterItemEventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); if (poProduksiProduk.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()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxVendor.Text = poProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); TextBoxPembayar.Text = poProduksiProduk.IDPenggunaDP != null ? poProduksiProduk.TBPengguna2.NamaLengkap : string.Empty; TextBoxTanggalDP.Text = poProduksiProduk.TanggalDownPayment != null?poProduksiProduk.TanggalDownPayment.ToFormatTanggal() : string.Empty; TextBoxJenisPembayaran.Text = poProduksiProduk.IDJenisPembayaran != null ? poProduksiProduk.TBJenisPembayaran.Nama : string.Empty; TextBoxDownPayment.Text = poProduksiProduk.DownPayment != null?poProduksiProduk.DownPayment.ToFormatHarga() : string.Empty; } } }
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; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); LabelJudul.Text = "(PRODUCT)"; LabelNamaVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Nama : string.Empty; LabelAlamatVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiProduk.IDProyeksi; LabelIDProduksi.Text = poProduksiProduk.IDPOProduksiProduk; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.Select(item => new { item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, item.TBKombinasiProduk), item.Jumlah, item.Sisa }).ToArray(); RepeaterDetail.DataBind(); } } }
private void LoadPOLama(DataClassesDatabaseDataContext db, string IDPOProduksiProduk) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : string.Empty; TextBoxPegawai.Text = pengguna.NamaLengkap; DropDownListPenggunaPIC.SelectedValue = poProduksiProduk.IDPenggunaPIC.ToString(); TextBoxTanggal.Text = poProduksiProduk.Tanggal.ToString("d MMMM yyyy"); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo != null?poProduksiProduk.TanggalJatuhTempo.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman != null?poProduksiProduk.TanggalPengiriman.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); DropDownListVendor.SelectedValue = poProduksiProduk.IDVendor.ToString(); HiddenFieldTax.Value = poProduksiProduk.TBVendor.PersentaseTax.ToString(); LabelTax.Text = "Tax (" + (poProduksiProduk.TBVendor.PersentaseTax * 100).ToFormatHarga() + "%)"; TBStokProduk[] daftarStokProduk = null; if (TextBoxIDProyeksi.Text != string.Empty) { TBProyeksiDetail[] proyeksiDetail = db.TBProyeksiDetails.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); daftarStokProduk = db.TBStokProduks.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiDetail.Any(data => data.IDKombinasiProduk == item.IDKombinasiProduk)).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); } else { daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); } DropDownListStokProduk.DataSource = daftarStokProduk.Select(item => new { item.IDStokProduk, item.TBKombinasiProduk.Nama }); DropDownListStokProduk.DataTextField = "Nama"; DropDownListStokProduk.DataValueField = "IDStokProduk"; DropDownListStokProduk.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in poProduksiProduk.TBPOProduksiProdukDetails) { TBStokProduk stokProduk = daftarStokProduk.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDProduk = stokProduk.TBKombinasiProduk.IDProduk; detail.IDKombinasiProduk = stokProduk.IDKombinasiProduk; detail.IDStokProduk = stokProduk.IDStokProduk; detail.Kode = stokProduk.TBKombinasiProduk.KodeKombinasiProduk; detail.Produk = stokProduk.TBKombinasiProduk.TBProduk.Nama; detail.Atribut = stokProduk.TBKombinasiProduk.TBAtributProduk.Nama; detail.KombinasiProduk = stokProduk.TBKombinasiProduk.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = detail.BiayaTambahan + detail.HargaPokokKomposisi; detail.Harga = item.HargaVendor; detail.PotonganHarga = item.PotonganHargaVendor; detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = item.Jumlah; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToString(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToString(); LoadData(); decimal subtotal = (LabelTotalSubtotal.Text.ToDecimal() + poProduksiProduk.BiayaLainLain.Value - poProduksiProduk.PotonganPOProduksiProduk.Value); decimal tax = subtotal * HiddenFieldTax.Value.ToDecimal(); TextBoxTax.Text = tax.ToFormatHarga(); TextBoxGrandtotal.Text = (subtotal + tax).ToFormatHarga(); CariHargaSupplierVendor(); }
protected void ButtonTerima_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPenerimaanPOProduksiProduk = string.Empty; string IDTransferProduk = string.Empty; TBPenerimaanPOProduksiProduk penerimaan = null; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); bool penerimaanSesuai = true; EntitySet <TBPenerimaanPOProduksiProdukDetail> daftarDetail = new EntitySet <TBPenerimaanPOProduksiProdukDetail>(); int baris = 0; foreach (RepeaterItem item in RepeaterDetail.Items) { baris++; Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxSisaPesanan = (TextBox)item.FindControl("TextBoxSisaPesanan"); TextBox TextBoxJumlahDatang = (TextBox)item.FindControl("TextBoxJumlahDatang"); TextBox TextBoxJumlahTerima = (TextBox)item.FindControl("TextBoxJumlahTerima"); TextBox TextBoxJumlahTolakKeVendor = (TextBox)item.FindControl("TextBoxJumlahTolakKeVendor"); if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() > 0) { if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() >= TextBoxJumlahTerima.Text.ToDecimal().ToInt()) { TBPOProduksiProdukDetail poProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == LabelIDKombinasiProduk.Text.ToInt()); daftarDetail.Add(new TBPenerimaanPOProduksiProdukDetail() { IDKombinasiProduk = poProduksiProdukDetail.IDKombinasiProduk, BiayaTambahan = poProduksiProdukDetail.BiayaTambahan, HargaPokokKomposisi = poProduksiProdukDetail.HargaPokokKomposisi, TotalHPP = poProduksiProdukDetail.TotalHPP, HargaVendor = poProduksiProdukDetail.HargaVendor, PotonganHargaVendor = poProduksiProdukDetail.PotonganHargaVendor, TotalHargaVendor = poProduksiProdukDetail.TotalHargaVendor, Datang = TextBoxJumlahDatang.Text.ToDecimal().ToInt(), Diterima = TextBoxJumlahTerima.Text.ToDecimal().ToInt(), TolakKeVendor = TextBoxJumlahTolakKeVendor.Text.ToDecimal().ToInt(), Sisa = TextBoxJumlahTerima.Text.ToDecimal().ToInt() <= TextBoxSisaPesanan.Text.ToDecimal().ToInt() ? TextBoxSisaPesanan.Text.ToDecimal().ToInt() - TextBoxJumlahTerima.Text.ToDecimal().ToInt() : 0 }); } else { LabelPeringatan.Text = "Jumlah diterima lebih besar dari jumlah datang, baris ke-" + baris.ToString(); peringatan.Visible = true; penerimaanSesuai = false; break; } } } if (penerimaanSesuai == true) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); TBStokProduk[] daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == Pengguna.IDTempat).ToArray(); db.Proc_InsertPenerimaanPOProduksiProduk(ref IDPenerimaanPOProduksiProduk, poProduksiProduk.IDPOProduksiProduk, poProduksiProduk.IDVendor, Pengguna.IDTempat, Pengguna.IDPengguna, TextBoxTanggalPenerimaan.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); penerimaan.IDPenggunaTerima = penerimaan.IDPenggunaDatang; penerimaan.TanggalTerima = penerimaan.TanggalDatang; penerimaan.TBPenerimaanPOProduksiProdukDetails = daftarDetail; penerimaan.TotalDatang = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Datang); penerimaan.TotalDiterima = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Diterima); penerimaan.TotalTolakKeVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TolakKeVendor); penerimaan.TotalSisa = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Sisa); penerimaan.SubtotalBiayaTambahan = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.BiayaTambahan * item.Diterima); penerimaan.SubtotalTotalHPP = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHPP * item.Diterima); penerimaan.SubtotalTotalHargaVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHargaVendor * item.Diterima); penerimaan.Grandtotal = penerimaan.SubtotalTotalHPP + penerimaan.SubtotalTotalHargaVendor; penerimaan.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima; penerimaan.Keterangan = TextBoxKeterangan.Text; foreach (var item in penerimaan.TBPenerimaanPOProduksiProdukDetails) { var POProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiProdukDetail.Sisa = item.Sisa; TBStokProduk StokProduk = daftarStokProduk.FirstOrDefault(data => data.IDTempat == Pengguna.IDTempat && data.IDKombinasiProduk == item.IDKombinasiProduk); StokProduk_Class.PengaturanJumlahStokPenerimaanPOProduk(penerimaan.TanggalTerima.Value, Pengguna.IDPengguna, Pengguna.IDTempat, StokProduk, item.TotalHargaVendor, item.Datang, item.TolakKeVendor, item.TBPenerimaanPOProduksiProduk.TBPOProduksiProduk.IDPOProduksiProduk + " - #" + item.TBPenerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk); } poProduksiProduk.TBPenerimaanPOProduksiProduks.Add(penerimaan); #region arie - INPUT JURNAL ////////////var KonfigurasiAkun = db.TBKonfigurasiAkuns.Where(item => item.IDTempat == 1); ////////////if (KonfigurasiAkun != null) ////////////{ //////////// #region Pembuatan Jurnal Penerimaan PO YG Belum Bayar //////////// TBJurnal Jurnal = new TBJurnal //////////// { //////////// IDTempat = Pengguna.IDTempat, //////////// Tanggal = penerimaan.TanggalTerima, //////////// Keterangan = penerimaan.Keterangan, //////////// IDPengguna = penerimaan.IDPenggunaTerima, //////////// Referensi = penerimaan.IDPenerimaanPOProduksiProduk //////////// }; //////////// #region JOURNAL ENTRY //////////// //DEBIT : PERSEDIAAN //////////// //KREDIT : HUTANG DAGANG //////////// //PERSEDIAAN //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "PERSEDIAAN").IDAkun, //////////// Debit = penerimaan.Grandtotal, //////////// Kredit = 0 //////////// }); //////////// //HUTANG DAGANG //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "HUTANG DAGANG").IDAkun, //////////// Debit = 0, //////////// Kredit = penerimaan.Grandtotal //////////// }); //////////// #endregion //////////// db.TBJurnals.InsertOnSubmit(Jurnal); //////////// #endregion ////////////} #endregion db.SubmitChanges(); statusBerhasil = true; } else { peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); if (penerimaan != null) { db.TBPenerimaanPOProduksiProdukDetails.DeleteAllOnSubmit(penerimaan.TBPenerimaanPOProduksiProdukDetails); db.TBPenerimaanPOProduksiProduks.DeleteOnSubmit(penerimaan); db.SubmitChanges(); IDPenerimaanPOProduksiProduk = 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; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); LabelJudul.Text = Pengaturan.JenisPOProduksi(poProduksiProduk.EnumJenisProduksi, "Produk"); LabelNamaVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Nama : string.Empty; LabelAlamatVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : string.Empty; LabelIDProduksi.Text = poProduksiProduk.IDPOProduksiProduk; LabelTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); LabelTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); LabelPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.Select(item => new { KodeKombinasiProduk = item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, item.HargaPokokKomposisi, item.BiayaTambahan, item.HargaVendor, item.PotonganHargaVendor, item.Jumlah, Subtotal = item.TBPOProduksiProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.SubtotalHPP : item.SubtotalHargaVendor }).ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? poProduksiProduk.SubtotalTotalHPP.ToFormatHarga() : poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); if (poProduksiProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri) { headerHarga.Visible = false; headerPotongan.Visible = false; } else { headerKomposisi.Visible = false; headerBiaya.Visible = false; } RepeaterKomposisi.DataSource = poProduksiProduk.TBPOProduksiProdukKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiProduk.TBPOProduksiProdukKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); LabelBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); LabelPotongan.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelJudulTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; LabelTax.Text = poProduksiProduk.Tax.ToFormatHarga(); LabelGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); LiteralKeterangan.Text = "<b>Keterangan :</b><br/>" + poProduksiProduk.Keterangan; if (poProduksiProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.PurchaseOrder) { komposisi.Visible = false; } } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; string IDPengirimanPOProduksiProduk = string.Empty; TBPengirimanPOProduksiProduk pengiriman = null; PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { bool pengirimanSesuai = true; int baris = 0; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); EntitySet <TBPengirimanPOProduksiProdukDetail> daftarKomposisi = new EntitySet <TBPengirimanPOProduksiProdukDetail>(); 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()) { TBPOProduksiProdukKomposisi poProduksiKomposisiKomposisi = poProduksiProduk.TBPOProduksiProdukKomposisis.FirstOrDefault(data => data.IDBahanBaku == LabelIDBahanBaku.Text.ToInt()); daftarKomposisi.Add(new TBPengirimanPOProduksiProdukDetail() { TBBahanBaku = poProduksiKomposisiKomposisi.TBBahanBaku, TBSatuan = poProduksiKomposisiKomposisi.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_InsertPengirimanPOProduksiProduk(ref IDPengirimanPOProduksiProduk, poProduksiProduk.IDPOProduksiProduk, 0, pengguna.IDTempat, pengguna.IDPengguna, TextBoxTanggalProses.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); pengiriman = db.TBPengirimanPOProduksiProduks.FirstOrDefault(item => item.IDPengirimanPOProduksiProduk == IDPengirimanPOProduksiProduk); foreach (var item in daftarKomposisi) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); StokBahanBaku_Class.UpdateBertambahBerkurang(db, DateTime.Now, pengguna.IDPengguna, stokBahanBaku, item.Kirim, stokBahanBaku.HargaBeli.Value, false, EnumJenisPerpindahanStok.PenguranganProduksi, "In-House Production #" + poProduksiProduk.IDPOProduksiProduk); TBPOProduksiProdukKomposisi poProduksiProdukomposisi = poProduksiProduk.TBPOProduksiProdukKomposisis.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); item.HargaBeli = poProduksiProdukomposisi.HargaBeli; poProduksiProdukomposisi.Kirim = poProduksiProdukomposisi.Kirim + item.Kirim; poProduksiProdukomposisi.Sisa = poProduksiProdukomposisi.Sisa - item.Kirim; } pengiriman.TBPengirimanPOProduksiProdukDetails = daftarKomposisi; pengiriman.Grandtotal = pengiriman.TBPengirimanPOProduksiProdukDetails.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.TBPengirimanPOProduksiProduks.FirstOrDefault(item => item.IDPengirimanPOProduksiProduk == IDPengirimanPOProduksiProduk); if (pengiriman != null) { db.TBPengirimanPOProduksiProdukDetails.DeleteAllOnSubmit(pengiriman.TBPengirimanPOProduksiProdukDetails); db.TBPengirimanPOProduksiProduks.DeleteOnSubmit(pengiriman); db.SubmitChanges(); IDPengirimanPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan Produksi Sendiri 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"); } } }
private void LoadPOLama(DataClassesDatabaseDataContext db, string IDPOProduksiProduk) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : string.Empty; TextBoxPegawai.Text = pengguna.NamaLengkap; DropDownListPenggunaPIC.SelectedValue = poProduksiProduk.IDPenggunaPIC.ToString(); TextBoxTanggal.Text = poProduksiProduk.Tanggal.ToString("d MMMM yyyy"); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman != null?poProduksiProduk.TanggalPengiriman.Value.ToString("d MMMM yyyy") : DateTime.Now.ToString("d MMMM yyyy"); TBStokProduk[] daftarStokProduk = null; if (TextBoxIDProyeksi.Text != string.Empty) { TBProyeksiDetail[] proyeksiDetail = db.TBProyeksiDetails.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); daftarStokProduk = db.TBStokProduks.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiDetail.Any(data => data.IDKombinasiProduk == item.IDKombinasiProduk)).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); } else { daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == pengguna.IDTempat && item.TBKombinasiProduk.TBProduk._IsActive).ToArray(); } DropDownListStokProduk.DataSource = daftarStokProduk .Select(item => new { item.IDStokProduk, item.TBKombinasiProduk.Nama }) .Distinct() .OrderBy(item => item.Nama) .ToArray(); DropDownListStokProduk.DataTextField = "Nama"; DropDownListStokProduk.DataValueField = "IDStokProduk"; DropDownListStokProduk.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in poProduksiProduk.TBPOProduksiProdukDetails) { TBStokProduk stokProduk = daftarStokProduk.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDProduk = stokProduk.TBKombinasiProduk.IDProduk; detail.IDKombinasiProduk = stokProduk.IDKombinasiProduk; detail.IDStokProduk = stokProduk.IDStokProduk; detail.Kode = stokProduk.TBKombinasiProduk.KodeKombinasiProduk; detail.Produk = stokProduk.TBKombinasiProduk.TBProduk.Nama; detail.Atribut = stokProduk.TBKombinasiProduk.TBAtributProduk.Nama; detail.KombinasiProduk = stokProduk.TBKombinasiProduk.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = 0; 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; RadioButtonListStatusHPP.SelectedValue = poProduksiProduk.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(poProduksiProduk.TBPOProduksiProdukKomposisis.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(poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Select(item => new POProduksiBiayaTambahan_Model { IDJenisBiayaProduksi = item.IDJenisBiayaProduksi, Nama = item.TBJenisBiayaProduksi.Nama, JumlahProduksi = 1, Biaya = item.Nominal })); ViewState["ViewStateListBiayaTambahan"] = ViewStateListBiayaTambahan; PengaturanHPPRataRata(); } TextBoxKeterangan.Text = poProduksiProduk.Keterangan; LoadData(); }
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 IDPOProduksiProduk = string.Empty; TBPOProduksiProduk produksiProduk = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["edit"]); if (produksiProduk.IDProyeksi != null) { foreach (var item in db.TBProyeksiDetails.Where(item => item.IDProyeksi == produksiProduk.IDProyeksi).OrderBy(data => data.TBKombinasiProduk.Nama).ToArray()) { TBPOProduksiProdukDetail poProduksiProdukDetail = produksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); if (poProduksiProdukDetail != null) { item.Sisa = item.Sisa + poProduksiProdukDetail.Jumlah; } } } db.TBPOProduksiProdukDetails.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukDetails); produksiProduk.TBPOProduksiProdukDetails.Clear(); produksiProduk.IDTempat = pengguna.IDTempat; produksiProduk.IDPengguna = pengguna.IDPengguna; produksiProduk.EnumJenisProduksi = (int)PilihanEnumJenisProduksi.PurchaseOrder; produksiProduk.Tanggal = TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute); } else { db.Proc_InsertPOProduksiProduk(ref IDPOProduksiProduk, pengguna.IDTempat, pengguna.IDPengguna, (int)PilihanEnumJenisProduksi.PurchaseOrder, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); } produksiProduk.IDProyeksi = TextBoxIDProyeksi.Text != string.Empty ? TextBoxIDProyeksi.Text : null; produksiProduk.IDVendor = DropDownListVendor.SelectedValue.ToInt(); produksiProduk.IDPenggunaPIC = DropDownListPenggunaPIC.SelectedValue.ToInt(); produksiProduk.IDPenggunaDP = null; produksiProduk.IDJenisPOProduksi = null; produksiProduk.IDJenisPembayaran = null; produksiProduk.TanggalDownPayment = null; produksiProduk.TanggalJatuhTempo = TextBoxTanggalJatuhTempo.Text.ToDateTime(); produksiProduk.TanggalPengiriman = TextBoxTanggalPengiriman.Text.ToDateTime(); produksiProduk.TBPOProduksiProdukDetails.AddRange(ViewStateListDetail.OrderBy(item => item.KombinasiProduk).Select(item => new TBPOProduksiProdukDetail { IDKombinasiProduk = item.IDKombinasiProduk, HargaPokokKomposisi = item.HargaPokokKomposisi, BiayaTambahan = item.BiayaTambahan, TotalHPP = item.TotalHPP, HargaVendor = item.Harga, PotonganHargaVendor = item.PotonganHarga, TotalHargaVendor = item.TotalHarga, Jumlah = (int)item.Jumlah, Sisa = (int)item.Sisa })); produksiProduk.TotalJumlah = produksiProduk.TBPOProduksiProdukDetails.Sum(item => item.Jumlah); produksiProduk.EnumJenisHPP = (int)PilihanEnumJenisHPP.HargaSupplierVendor; produksiProduk.SubtotalBiayaTambahan = produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.BiayaTambahan)); produksiProduk.SubtotalTotalHPP = produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.TotalHPP)); produksiProduk.SubtotalTotalHargaVendor = Math.Round(produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.TotalHargaVendor)), 2, MidpointRounding.AwayFromZero); produksiProduk.PotonganPOProduksiProduk = TextBoxPotonganPO.Text.ToDecimal(); produksiProduk.BiayaLainLain = TextBoxBiayaLainLain.Text.ToDecimal(); produksiProduk.PersentaseTax = HiddenFieldTax.Value.ToInt(); decimal subtotal = produksiProduk.SubtotalTotalHargaVendor.Value + produksiProduk.BiayaLainLain.Value - produksiProduk.PotonganPOProduksiProduk.Value; produksiProduk.Tax = Math.Round((subtotal * produksiProduk.PersentaseTax.Value), 2, MidpointRounding.AwayFromZero); produksiProduk.Grandtotal = subtotal + produksiProduk.Tax; produksiProduk.DownPayment = 0; produksiProduk.Keterangan = TextBoxKeterangan.Text; if (produksiProduk.IDProyeksi != null) { foreach (var item in db.TBProyeksiDetails.Where(item => item.IDProyeksi == produksiProduk.IDProyeksi).OrderBy(data => data.TBKombinasiProduk.Nama).ToArray()) { TBPOProduksiProdukDetail poProduksiProdukDetail = produksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); if (poProduksiProdukDetail != null) { item.Sisa = item.Sisa - poProduksiProdukDetail.Jumlah; } } } TBHargaVendor[] daftarHargaVendor = db.TBHargaVendors.Where(item => item.IDVendor == produksiProduk.IDVendor).ToArray(); foreach (var item in ViewStateListDetail) { TBHargaVendor hargaVendor = daftarHargaVendor.FirstOrDefault(data => data.IDStokProduk == item.IDStokProduk); if (hargaVendor == null) { db.TBHargaVendors.InsertOnSubmit(new TBHargaVendor() { IDStokProduk = item.IDStokProduk, IDVendor = produksiProduk.IDVendor, Tanggal = produksiProduk.Tanggal, Harga = item.Harga }); } else { hargaVendor.Tanggal = produksiProduk.Tanggal; hargaVendor.Harga = item.Harga; } } db.SubmitChanges(); statusBerhasil = true; } } catch (Exception ex) { if (statusBerhasil != true && string.IsNullOrEmpty(Request.QueryString["edit"])) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); if (produksiProduk != null) { db.TBPOProduksiProdukDetails.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukDetails); db.TBPOProduksiProduks.DeleteOnSubmit(produksiProduk); db.SubmitChanges(); IDPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "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) { if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { Response.Redirect("Detail.aspx?id=" + produksiProduk.IDPOProduksiProduk); } else { Response.Redirect("Default.aspx"); } } } } else { LabelPeringatan.Text = "Tidak ada Produk yang dipilih"; peringatan.Visible = true; } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (Page.IsValid) { 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 IDPOProduksiProduk = string.Empty; TBPOProduksiProduk produksiProduk = null; bool statusBerhasil = false; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { peringatan.Visible = false; if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["edit"]); if (produksiProduk.IDProyeksi != null) { foreach (var item in db.TBProyeksiDetails.Where(item => item.IDProyeksi == produksiProduk.IDProyeksi).OrderBy(data => data.TBKombinasiProduk.Nama).ToArray()) { TBPOProduksiProdukDetail poProduksiProdukDetail = produksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); if (poProduksiProdukDetail != null) { item.Sisa = item.Sisa + poProduksiProdukDetail.Jumlah; } } } db.TBPOProduksiProdukDetails.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukDetails); db.TBPOProduksiProdukKomposisis.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukKomposisis); db.TBPOProduksiProdukBiayaTambahans.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukBiayaTambahans); produksiProduk.TBPOProduksiProdukDetails.Clear(); produksiProduk.TBPOProduksiProdukKomposisis.Clear(); produksiProduk.TBPOProduksiProdukBiayaTambahans.Clear(); produksiProduk.IDTempat = pengguna.IDTempat; produksiProduk.IDPengguna = pengguna.IDPengguna; produksiProduk.EnumJenisProduksi = (int)PilihanEnumJenisProduksi.ProduksiSendiri; produksiProduk.Tanggal = TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute); } else { db.Proc_InsertPOProduksiProduk(ref IDPOProduksiProduk, pengguna.IDTempat, pengguna.IDPengguna, (int)PilihanEnumJenisProduksi.ProduksiSendiri, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); } produksiProduk.IDProyeksi = TextBoxIDProyeksi.Text != string.Empty ? TextBoxIDProyeksi.Text : null; produksiProduk.IDVendor = null; produksiProduk.IDPenggunaPIC = DropDownListPenggunaPIC.SelectedValue.ToInt(); produksiProduk.IDPenggunaDP = null; produksiProduk.IDJenisPOProduksi = null; produksiProduk.IDJenisPembayaran = null; produksiProduk.TanggalDownPayment = null; produksiProduk.TanggalJatuhTempo = null; produksiProduk.TanggalPengiriman = TextBoxTanggalPengiriman.Text.ToDateTime(); produksiProduk.TBPOProduksiProdukDetails.AddRange(ViewStateListDetail.Select(item => new TBPOProduksiProdukDetail { IDKombinasiProduk = item.IDKombinasiProduk, HargaPokokKomposisi = item.HargaPokokKomposisi, BiayaTambahan = item.BiayaTambahan, TotalHPP = item.TotalHPP, HargaVendor = item.Harga, PotonganHargaVendor = item.PotonganHarga, TotalHargaVendor = item.TotalHarga, Jumlah = (int)item.Jumlah, Sisa = (int)item.Sisa })); produksiProduk.TotalJumlah = produksiProduk.TBPOProduksiProdukDetails.Sum(item => item.Jumlah); produksiProduk.EnumJenisHPP = RadioButtonListStatusHPP.SelectedValue.ToInt(); produksiProduk.SubtotalBiayaTambahan = produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.BiayaTambahan)); produksiProduk.SubtotalTotalHPP = produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.TotalHPP)); produksiProduk.SubtotalTotalHargaVendor = produksiProduk.TBPOProduksiProdukDetails.Sum(item => (item.Jumlah * item.TotalHargaVendor)); produksiProduk.PotonganPOProduksiProduk = 0; produksiProduk.BiayaLainLain = 0; produksiProduk.PersentaseTax = 0; produksiProduk.Tax = 0; produksiProduk.Grandtotal = produksiProduk.SubtotalTotalHPP; produksiProduk.DownPayment = 0; produksiProduk.Keterangan = TextBoxKeterangan.Text; produksiProduk.TBPOProduksiProdukKomposisis.AddRange(ViewStateListKomposisi.OrderBy(item => item.BahanBaku).GroupBy(item => new { item.IDBahanBaku, item.IDSatuan, item.HargaBeli }) .Select(item => new TBPOProduksiProdukKomposisi { 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) })); produksiProduk.TBPOProduksiProdukBiayaTambahans.AddRange(ViewStateListBiayaTambahan.OrderBy(item => item.Nama).GroupBy(item => new { item.IDJenisBiayaProduksi }) .Select(item => new TBPOProduksiProdukBiayaTambahan { IDJenisBiayaProduksi = item.Key.IDJenisBiayaProduksi, Nominal = item.Sum(x => x.SubtotalBiaya) })); if (produksiProduk.IDProyeksi != null) { foreach (var item in db.TBProyeksiDetails.Where(item => item.IDProyeksi == produksiProduk.IDProyeksi).OrderBy(data => data.TBKombinasiProduk.Nama).ToArray()) { TBPOProduksiProdukDetail poProduksiProdukDetail = produksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); if (poProduksiProdukDetail != null) { item.Sisa = item.Sisa - poProduksiProdukDetail.Jumlah; } } } db.SubmitChanges(); statusBerhasil = true; } } catch (Exception ex) { if (statusBerhasil != true && string.IsNullOrEmpty(Request.QueryString["edit"])) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { produksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == IDPOProduksiProduk); if (produksiProduk != null) { db.TBPOProduksiProdukDetails.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukDetails); db.TBPOProduksiProdukKomposisis.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukKomposisis); db.TBPOProduksiProdukBiayaTambahans.DeleteAllOnSubmit(produksiProduk.TBPOProduksiProdukBiayaTambahans); db.TBPOProduksiProduks.DeleteOnSubmit(produksiProduk); db.SubmitChanges(); IDPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Produksi Produk 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=" + produksiProduk.IDPOProduksiProduk); } else { Response.Redirect("Default.aspx"); } } } } else { LabelPeringatan.Text = "Tidak ada Produk yang dipilih"; peringatan.Visible = true; } } }