protected void ButtonSimpanDetail_Click(object sender, EventArgs e) { if (Page.IsValid) { if (TextBoxJumlah.Text.ToDecimal() > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; POProduksiDetail_Model detail = ViewStateListDetail.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); if (detail == null) { TBStokProduk stokProduk = db.TBStokProduks.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); 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 = TextBoxJumlah.Text.ToDecimal().ToInt(); detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } else { detail.Jumlah = TextBoxJumlah.Text.ToDecimal().ToInt(); detail.Sisa = detail.Jumlah; } ViewState["ViewStateListDetail"] = ViewStateListDetail; if (RadioButtonListStatusHPP.SelectedValue == ((int)PilihanEnumJenisHPP.Komposisi).ToString()) { PengaturanHPPKomposisi(db); } else { PengaturanHPPRataRata(); } } LoadData(); } } }
private void LoadProyeksi(DataClassesDatabaseDataContext db, string IDProyeksi, string level) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxIDProyeksi.Text = IDProyeksi; TextBoxPegawai.Text = pengguna.NamaLengkap; TBProyeksiKomposisi[] proyeksiKomposisi = null; if (!string.IsNullOrEmpty(level)) { proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == IDProyeksi && item.LevelProduksi == level.ToInt() && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray(); } else { proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == IDProyeksi && item.BahanBakuDasar == false).OrderBy(data => data.TBBahanBaku.Nama).ToArray(); } TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiKomposisi.Any(data => data.IDBahanBaku == item.IDBahanBaku)).OrderBy(item => item.TBBahanBaku.Nama).ToArray(); DropDownListStokBahanBaku.DataSource = daftarStokBahanBaku.Select(item => new { item.IDStokBahanBaku, item.TBBahanBaku.Nama }).ToArray(); DropDownListStokBahanBaku.DataTextField = "Nama"; DropDownListStokBahanBaku.DataValueField = "IDStokBahanBaku"; DropDownListStokBahanBaku.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in proyeksiKomposisi.Where(item => item.Sisa > 0)) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.IDBahanBaku); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDBahanBaku = stokBahanBaku.TBBahanBaku.IDBahanBaku; detail.IDSatuan = stokBahanBaku.TBBahanBaku.IDSatuanKonversi; detail.IDStokBahanBaku = stokBahanBaku.IDStokBahanBaku; detail.Kode = stokBahanBaku.TBBahanBaku.KodeBahanBaku; detail.BahanBaku = stokBahanBaku.TBBahanBaku.Nama; detail.Satuan = stokBahanBaku.TBBahanBaku.TBSatuan1.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.Sisa / stokBahanBaku.TBBahanBaku.Konversi.Value; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; LabelSatuan.Text = "/" + daftarStokBahanBaku.FirstOrDefault(item => item.IDStokBahanBaku == DropDownListStokBahanBaku.SelectedValue.ToInt()).TBBahanBaku.TBSatuan1.Nama; PengaturanHPPKomposisi(db); LoadData(); }
protected void ButtonSimpanDetail_Click(object sender, EventArgs e) { if (Page.IsValid) { if (TextBoxJumlah.Text.ToDecimal().ToInt() > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; POProduksiDetail_Model detail = ViewStateListDetail.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); if (detail == null) { TBStokProduk stokProduk = db.TBStokProduks.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); 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 = TextBoxHargaVendor.Text.ToDecimal(); detail.PotonganHarga = TextBoxPotonganHargaVendor.Text.ToDecimal(); detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = TextBoxJumlah.Text.ToDecimal().ToInt(); detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } else { detail.Harga = TextBoxHargaVendor.Text.ToDecimal(); detail.PotonganHarga = TextBoxPotonganHargaVendor.Text.ToDecimal(); detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = TextBoxJumlah.Text.ToDecimal().ToInt(); detail.Sisa = detail.Jumlah; } ViewState["ViewStateListDetail"] = ViewStateListDetail; } LoadData(); } } }
protected void ButtonSimpanDetail_Click(object sender, EventArgs e) { if (Page.IsValid) { if (TextBoxJumlah.Text.ToDecimal() > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; POProduksiDetail_Model detail = ViewStateListDetail.FirstOrDefault(item => item.IDStokBahanBaku == DropDownListStokBahanBaku.SelectedValue.ToInt()); if (detail == null) { TBStokBahanBaku stokBahanBaku = db.TBStokBahanBakus.FirstOrDefault(item => item.IDStokBahanBaku == DropDownListStokBahanBaku.SelectedValue.ToInt()); detail = new POProduksiDetail_Model(); detail.IDBahanBaku = stokBahanBaku.TBBahanBaku.IDBahanBaku; detail.IDSatuan = stokBahanBaku.TBBahanBaku.IDSatuanKonversi; detail.IDStokBahanBaku = stokBahanBaku.IDStokBahanBaku; detail.Kode = stokBahanBaku.TBBahanBaku.KodeBahanBaku; detail.BahanBaku = stokBahanBaku.TBBahanBaku.Nama; detail.Satuan = stokBahanBaku.TBBahanBaku.TBSatuan1.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = detail.BiayaTambahan + detail.HargaPokokKomposisi; detail.Harga = TextBoxHargaSupplier.Text.ToDecimal(); detail.PotonganHarga = TextBoxPotonganHargaSupplier.Text.ToDecimal(); detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = TextBoxJumlah.Text.ToDecimal(); detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } else { detail.Harga = TextBoxHargaSupplier.Text.ToDecimal(); detail.PotonganHarga = TextBoxPotonganHargaSupplier.Text.ToDecimal(); detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = TextBoxJumlah.Text.ToDecimal(); detail.Sisa = detail.Jumlah; } ViewState["ViewStateListDetail"] = ViewStateListDetail; } LoadData(); } } }
private void LoadProyeksi(DataClassesDatabaseDataContext db, string IDProyeksi) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxIDProyeksi.Text = IDProyeksi; TextBoxPegawai.Text = pengguna.NamaLengkap; TBProyeksiDetail[] proyeksiDetail = db.TBProyeksiDetails.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); TBStokProduk[] daftarStokProduk = db.TBStokProduks.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiDetail.Any(data => data.IDKombinasiProduk == item.IDKombinasiProduk)).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; 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(); foreach (var item in proyeksiDetail.Where(item => item.Sisa > 0)) { 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.Sisa; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; PengaturanHPPKomposisi(db); LoadData(); }
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(); }
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(); }
private void LoadProyeksi(DataClassesDatabaseDataContext db, string IDProyeksi) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxIDProyeksi.Text = IDProyeksi; TextBoxPegawai.Text = pengguna.NamaLengkap; TBSupplier supplier = null; if (DropDownListSupplier.SelectedValue == "0") { HiddenFieldTax.Value = "0"; LabelTax.Text = "Tax (0%)"; } else { supplier = db.TBSuppliers.FirstOrDefault(item => item.IDSupplier == DropDownListSupplier.SelectedValue.ToInt()); HiddenFieldTax.Value = supplier.PersentaseTax.ToString(); LabelTax.Text = "Tax (" + (supplier.PersentaseTax * 100).ToFormatHarga() + "%)"; } var proyeksiKomposisi = db.TBProyeksiKomposisis.Where(item => item.IDProyeksi == IDProyeksi && item.BahanBakuDasar == true && (DropDownListSupplier.SelectedValue != "0" ? db.TBHargaSuppliers.Where(item2 => item2.IDSupplier == DropDownListSupplier.SelectedValue.ToInt()).Any(item2 => item2.TBStokBahanBaku.IDBahanBaku == item.IDBahanBaku) : true)) .GroupBy(item => new { item.TBBahanBaku }) .Select(item => new { item.Key, Sisa = item.Sum(x => x.Sisa), }).OrderBy(data => data.Key.TBBahanBaku.Nama); TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiKomposisi.Any(data => data.Key.TBBahanBaku.IDBahanBaku == item.IDBahanBaku)).OrderBy(item => item.TBBahanBaku.Nama).ToArray(); DropDownListStokBahanBaku.DataSource = daftarStokBahanBaku.Select(item => new { item.IDStokBahanBaku, item.TBBahanBaku.Nama }).ToArray(); DropDownListStokBahanBaku.DataTextField = "Nama"; DropDownListStokBahanBaku.DataValueField = "IDStokBahanBaku"; DropDownListStokBahanBaku.DataBind(); List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; foreach (var item in proyeksiKomposisi.Where(item => item.Sisa > 0)) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == item.Key.TBBahanBaku.IDBahanBaku); POProduksiDetail_Model detail = new POProduksiDetail_Model(); detail.IDBahanBaku = stokBahanBaku.TBBahanBaku.IDBahanBaku; detail.IDSatuan = stokBahanBaku.TBBahanBaku.IDSatuanKonversi; detail.IDStokBahanBaku = stokBahanBaku.IDStokBahanBaku; detail.Kode = stokBahanBaku.TBBahanBaku.KodeBahanBaku; detail.BahanBaku = stokBahanBaku.TBBahanBaku.Nama; detail.Satuan = stokBahanBaku.TBBahanBaku.TBSatuan1.Nama; detail.HargaPokokKomposisi = 0; detail.BiayaTambahan = 0; detail.TotalHPP = detail.BiayaTambahan + detail.HargaPokokKomposisi; detail.Harga = supplier == null ? 0 : supplier.TBHargaSuppliers.FirstOrDefault(data => data.IDStokBahanBaku == stokBahanBaku.IDStokBahanBaku) == null ? 0 : supplier.TBHargaSuppliers.FirstOrDefault(data => data.IDStokBahanBaku == stokBahanBaku.IDStokBahanBaku).Harga.Value; detail.PotonganHarga = 0; detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = item.Sisa / stokBahanBaku.TBBahanBaku.Konversi.Value; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; LoadData(); decimal subtotal = LabelTotalSubtotal.Text.ToDecimal(); decimal tax = subtotal * HiddenFieldTax.Value.ToDecimal(); TextBoxTax.Text = tax.ToFormatHarga(); TextBoxGrandtotal.Text = (subtotal + tax).ToFormatHarga(); CariHargaSupplierVendor(); }
private void LoadProyeksi(DataClassesDatabaseDataContext db, string IDProyeksi) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxIDProyeksi.Text = IDProyeksi; TextBoxPegawai.Text = pengguna.NamaLengkap; TBVendor vendor = null; if (DropDownListVendor.SelectedValue == "0") { HiddenFieldTax.Value = "0"; LabelTax.Text = "Tax (0%)"; } else { vendor = db.TBVendors.FirstOrDefault(item => item.IDVendor == DropDownListVendor.SelectedValue.ToInt()); HiddenFieldTax.Value = vendor.PersentaseTax.ToString(); LabelTax.Text = "Tax (" + (vendor.PersentaseTax * 100).ToFormatHarga() + "%)"; } TBProyeksiDetail[] proyeksiDetail = db.TBProyeksiDetails.Where(item => item.IDProyeksi == TextBoxIDProyeksi.Text).OrderBy(item => item.TBKombinasiProduk.Nama).ToArray(); TBStokProduk[] daftarStokProduk = db.TBStokProduks.AsEnumerable().Where(item => item.IDTempat == pengguna.IDTempat && proyeksiDetail.Any(data => data.IDKombinasiProduk == item.IDKombinasiProduk)).OrderBy(item => item.TBKombinasiProduk.Nama).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 proyeksiDetail.Where(item => item.Sisa > 0)) { 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 = vendor == null ? 0 : vendor.TBHargaVendors.FirstOrDefault(data => data.IDStokProduk == stokProduk.IDStokProduk) == null ? 0 : vendor.TBHargaVendors.FirstOrDefault(data => data.IDStokProduk == stokProduk.IDStokProduk).Harga.Value; detail.PotonganHarga = 0; detail.TotalHarga = detail.Harga - detail.PotonganHarga; detail.Jumlah = item.Sisa; detail.Sisa = detail.Jumlah; ViewStateListDetail.Add(detail); } ViewState["ViewStateListDetail"] = ViewStateListDetail; LoadData(); decimal subtotal = LabelTotalSubtotal.Text.ToDecimal(); decimal tax = subtotal * HiddenFieldTax.Value.ToDecimal(); TextBoxTax.Text = tax.ToFormatHarga(); TextBoxGrandtotal.Text = (subtotal + tax).ToFormatHarga(); CariHargaSupplierVendor(); }
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(); TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; 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(); }