private ListItemCollection CariSatuan(TBBahanBaku bahanBaku) { ListItemCollection daftarSatuan = new ListItemCollection(); daftarSatuan.Add(new ListItem(bahanBaku.TBSatuan1.Nama)); if (bahanBaku.IDSatuanKonversi != bahanBaku.IDSatuan) { daftarSatuan.Add(new ListItem(bahanBaku.TBSatuan.Nama)); } return(daftarSatuan); }
public void Barcode(DataClassesDatabaseDataContext db, int idTempat, TBBahanBaku bahanBaku) { int idBahanBaku = bahanBaku.IDBahanBaku; string kode = ""; do { kode = DateTime.Now.ToString("yyMM") + idTempat.ToString() + idBahanBaku.ToString(); idBahanBaku++; } while (db.TBBahanBakus.FirstOrDefault(item => item.KodeBahanBaku == kode) != null); bahanBaku.KodeBahanBaku = kode; db.SubmitChanges(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { LoadDataJavaScript(db); KategoriBahanBaku_Class KategoriBahanBaku_Class = new KategoriBahanBaku_Class(); TBBahanBaku bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Request.QueryString["id"].ToInt()); if (bahanBaku != null) { TextBoxNama.Text = bahanBaku.Nama; TextBoxKodeBahanBaku.Text = bahanBaku.KodeBahanBaku; TextBoxSatuanBesar.Text = bahanBaku.TBSatuan1.Nama; TextBoxSatuanKecil.Text = bahanBaku.TBSatuan.Nama; TextBoxKonversi.Text = bahanBaku.Konversi.ToFormatHarga(); TextBoxBerat.Text = bahanBaku.Berat.ToString(); TextBoxKategori.Text = KategoriBahanBaku_Class.Data(bahanBaku.TBRelasiBahanBakuKategoriBahanBakus.ToArray()); TextBoxDeskripsi.Text = bahanBaku.Deskripsi; TBStokBahanBaku stokBahanBaku = bahanBaku.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat); if (stokBahanBaku != null) { TextBoxHargaBeli.Text = (stokBahanBaku.HargaBeli * bahanBaku.Konversi).ToFormatHarga(); TextBoxStok.Text = (stokBahanBaku.Jumlah / bahanBaku.Konversi).ToFormatHarga(); TextBoxBatasStokAkanHabis.Text = (stokBahanBaku.JumlahMinimum / bahanBaku.Konversi).ToFormatHarga(); } LabelSatuanHargaBeli.Text = "/" + TextBoxSatuanBesar.Text; LabelSatuanKonversi.Text = TextBoxSatuanKecil.Text; LabelSatuanStok.Text = TextBoxSatuanBesar.Text; LabelSatuanStokAkanHabis.Text = TextBoxSatuanBesar.Text; ButtonSimpan.Text = "Ubah"; LabelKeterangan.Text = "Ubah"; } else { LabelKeterangan.Text = "Tambah"; } } } }
protected void DropDownListBahanBaku_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBBahanBaku bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue)); LabelSatuan.Text = bahanBaku.TBSatuan.Nama; RepeaterKomposisiBahanBaku.DataSource = bahanBaku.TBKomposisiBahanBakus.Select(item => new { BahanBaku = item.TBBahanBaku1.Nama, Jumlah = item.Jumlah, Satuan = item.TBBahanBaku1.TBSatuan.Nama }).OrderBy(item => item.BahanBaku); RepeaterKomposisiBahanBaku.DataBind(); } TextBoxJumlahBahanBaku.Focus(); CollapseBiayaProduksi.Attributes.Add("class", "collapse"); CollapseKomposisiProduk.Attributes.Add("class", "collapse in"); }
private void LoadData(DataClassesDatabaseDataContext db, TBBahanBaku bahanBaku) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; RepeaterKomposisi.DataSource = bahanBaku.TBKomposisiBahanBakus.Select(item => new { item.IDBahanBaku, item.TBBahanBaku1.Nama, Jumlah = item.Jumlah.ToFormatHarga(), Satuan = item.TBBahanBaku1.TBSatuan.Nama, HargaBeli = item.TBBahanBaku1.TBStokBahanBakus.FirstOrDefault(stok => stok.IDBahanBaku == item.IDBahanBaku && stok.IDTempat == pengguna.IDTempat).HargaBeli *item.Jumlah }).ToArray(); RepeaterKomposisi.DataBind(); RepeaterBiayaProduksi.DataSource = bahanBaku.TBRelasiJenisBiayaProduksiBahanBakus.Select(item => new { item.IDJenisBiayaProduksi, NamaJenisBiayaProduksi = item.TBJenisBiayaProduksi.Nama, Jenis = item.EnumBiayaProduksi == (int)PilihanBiayaProduksi.Persen ? (item.Persentase * 100).ToFormatHarga() + "% dari Komposisi Bahan Baku" : "Nominal", BiayaProduksi = item.EnumBiayaProduksi == (int)PilihanBiayaProduksi.Persen ? (item.Persentase * StokBahanBaku_Class.HitungHargaPokokKomposisi(db, pengguna.IDTempat, item.TBBahanBaku)).ToFormatHarga() : item.Nominal.ToFormatHarga() }).ToArray(); RepeaterBiayaProduksi.DataBind(); decimal hargaKomposisi = StokBahanBaku_Class.HitungHargaPokokKomposisi(db, pengguna.IDTempat, bahanBaku); LabelTotalHargaBesarKomposisi.Text = hargaKomposisi.ToFormatHarga(); LabelSatuanBesarKomposisi.Text = "/" + bahanBaku.TBSatuan1.Nama; LabelTotalHargaKecilKomposisi.Text = (hargaKomposisi / bahanBaku.Konversi).ToFormatHarga(); LabelSatuanKecilKomposisi.Text = "/" + bahanBaku.TBSatuan.Nama; decimal hargaBiayaProduksi = StokBahanBaku_Class.HitungBiayaProduksi(db, pengguna.IDTempat, bahanBaku); LabelTotalHargaBesarBiayaProduksi.Text = hargaBiayaProduksi.ToFormatHarga(); LabelSatuanBesarBiayaProduksi.Text = LabelSatuanBesarKomposisi.Text; LabelTotalHargaKecilBiayaProduksi.Text = (hargaBiayaProduksi / bahanBaku.Konversi).ToFormatHarga(); LabelSatuanKecilBiayaProduksi.Text = LabelSatuanKecilKomposisi.Text; LabelHitunganKomposisi.Text = LabelTotalHargaKecilKomposisi.Text + " " + LabelSatuanKecilKomposisi.Text; LabelHitunganBiayaProduksi.Text = (hargaBiayaProduksi / bahanBaku.Konversi).ToFormatHarga() + " " + LabelSatuanKecilKomposisi.Text; LabelHargaPokokProduksi.Text = ((hargaKomposisi + hargaBiayaProduksi) / bahanBaku.Konversi).ToFormatHarga() + " " + LabelSatuanKecilKomposisi.Text; }
public void KategoriBahanBaku(DataClassesDatabaseDataContext db, TBBahanBaku BahanBaku, string listKategori) { //HAPUS JIKA SUDAH ADA RELASI BAHAN BAKU DENGAN KATEGORI if (BahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count > 0) { db.TBRelasiBahanBakuKategoriBahanBakus.DeleteAllOnSubmit(BahanBaku.TBRelasiBahanBakuKategoriBahanBakus); } string[] _tempKategori = listKategori.Replace(" ,", ",").Replace(", ", ",").Split(','); foreach (var item in _tempKategori.Distinct()) { var KategoriBahanBaku = CariTambah(db, item); BahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Add(new TBRelasiBahanBakuKategoriBahanBaku { TBKategoriBahanBaku = KategoriBahanBaku }); } }
public TBBahanBaku Ubah(DataClassesDatabaseDataContext db, TBBahanBaku BahanBaku, string satuanKecil, string satuanBesar, decimal konversi) { #region SATUAN KECIL var SatuanKecil = db.TBSatuans.FirstOrDefault(item => item.Nama.ToLower() == satuanKecil.ToLower()); if (SatuanKecil == null) { TBSatuan satuan = new TBSatuan { Nama = satuanKecil }; BahanBaku.TBSatuan = satuan; db.TBSatuans.InsertOnSubmit(satuan); } #endregion #region SATUAN BESAR TBSatuan SatuanBesar; if (satuanKecil.ToLower() != satuanBesar.ToLower()) { SatuanBesar = db.TBSatuans.FirstOrDefault(item => item.Nama.ToLower() == satuanBesar.ToLower()); if (SatuanBesar == null) { TBSatuan satuan = new TBSatuan { Nama = satuanBesar }; BahanBaku.TBSatuan1 = satuan; db.TBSatuans.InsertOnSubmit(satuan); } } else { BahanBaku.TBSatuan1 = SatuanKecil; } #endregion BahanBaku.Konversi = konversi; return(BahanBaku); }
private void TambahKategori(TBBahanBaku bahanBaku, DataClassesDatabaseDataContext db) { //reset kategori produk var kategori = db.TBRelasiBahanBakuKategoriBahanBakus.Where(item => item.TBBahanBaku == bahanBaku).ToArray(); if (kategori.Count() > 0) { db.TBRelasiBahanBakuKategoriBahanBakus.DeleteAllOnSubmit(kategori); } foreach (ListItem item in CheckBoxListKategori.Items) { if (item.Selected) { db.TBRelasiBahanBakuKategoriBahanBakus.InsertOnSubmit(new TBRelasiBahanBakuKategoriBahanBaku { TBBahanBaku = bahanBaku, IDKategoriBahanBaku = item.Value.ToInt() }); } } }
protected void DropDownListBahanBaku_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBBahanBaku bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == DropDownListBahanBaku.SelectedValue.ToInt()); DropDownListSatuan.Items.Clear(); DropDownListSatuan.DataBind(); DropDownListSatuan.Items.Insert(0, new ListItem { Text = bahanBaku.TBSatuan1.Nama, Value = bahanBaku.IDSatuanKonversi.ToString() }); if (bahanBaku.TBSatuan != bahanBaku.TBSatuan1) { DropDownListSatuan.Items.Insert(1, new ListItem { Text = bahanBaku.TBSatuan.Nama, Value = bahanBaku.IDSatuan.ToString() }); } HiddenFieldHargaBeli.Value = bahanBaku.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat).HargaBeli.ToString(); HiddenFieldKonversi.Value = bahanBaku.Konversi.ToString(); } }
public TBBahanBaku Tambah(DataClassesDatabaseDataContext db, TBSatuan satuanKecil, TBSatuan satuanBesar, string kodeBahanBaku, string nama, decimal konversi, string deskripsi) { var BahanBaku = new TBBahanBaku { //IDProduk IDWMS = Guid.NewGuid(), TBSatuan = satuanKecil, //IDWarna TBSatuan1 = satuanBesar, //IDPemilikProduk TanggalDaftar = DateTime.Now, TanggalUpdate = DateTime.Now, Urutan = db.TBBahanBakus.Count() + 1, KodeBahanBaku = kodeBahanBaku, Nama = nama, Berat = 0, Konversi = konversi, Deskripsi = deskripsi }; db.TBBahanBakus.InsertOnSubmit(BahanBaku); return(BahanBaku); }
public static void DeleteBahanBaku(DataClassesDatabaseDataContext db, int idBahanBaku) { TBBahanBaku bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == idBahanBaku); if (bahanBaku.TBAtributPilihanBahanBakus.Count == 0 && bahanBaku.TBKomposisiBahanBakus.Count == 0 && bahanBaku.TBKomposisiBahanBakus1.Count == 0 && bahanBaku.TBKomposisiKombinasiProduks.Count == 0 && bahanBaku.TBPenerimaanPOProduksiBahanBakuDetails.Count == 0 && bahanBaku.TBPengirimanPOProduksiBahanBakuDetails.Count == 0 && bahanBaku.TBPengirimanPOProduksiProdukDetails.Count == 0 && bahanBaku.TBPOProduksiBahanBakuDetails.Count == 0 && bahanBaku.TBPOProduksiBahanBakuKomposisis.Count == 0 && bahanBaku.TBPOProduksiProdukKomposisis.Count == 0 && bahanBaku.TBProyeksiKomposisis.Count == 0 && bahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count == 0 && bahanBaku.TBRelasiJenisBiayaProduksiBahanBakus.Count == 0 && bahanBaku.TBStokBahanBakus.Count == 0 && bahanBaku.TBTransferBahanBakuDetails.Count == 0) { db.TBBahanBakus.DeleteOnSubmit(bahanBaku); } }
public void BahanBakuData(TBBahanBaku BahanBaku, Repeater RepeaterAtribut) { //ATRIBUT PILIHAN var AtributPilihan = BahanBaku.TBAtributPilihanBahanBakus .Select(item => new { item.TBAtributPilihan.TBAtribut.IDAtribut, item.TBAtributPilihan.Nama }) .ToArray(); //MUNCUL KE REPEATER RepeaterAtribut.DataSource = db.TBAtributs .Where(item => item.IDAtributGrup == (int)GrupAtribut.BahanBaku) .ToArray() .Select(item => new { item.IDAtribut, item.Nama, item.Pilihan, Value = AtributPilihan.FirstOrDefault(item2 => item2.IDAtribut == item.IDAtribut) != null ? AtributPilihan.FirstOrDefault(item2 => item2.IDAtribut == item.IDAtribut).Nama : "" }); RepeaterAtribut.DataBind(); }
public static string GabungkanSemuaKategoriBahanBaku(DataClassesDatabaseDataContext db, TBStokBahanBaku stokBahanBaku, TBBahanBaku bahanBaku) { string kategori = string.Empty; if (stokBahanBaku != null) { if (stokBahanBaku.TBBahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count > 0) { foreach (var item in stokBahanBaku.TBBahanBaku.TBRelasiBahanBakuKategoriBahanBakus) { if (kategori == string.Empty) { kategori = kategori + item.TBKategoriBahanBaku.Nama; } else { kategori = kategori + ", " + item.TBKategoriBahanBaku.Nama; } } } } else if (bahanBaku != null) { if (bahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count > 0) { foreach (var item in bahanBaku.TBRelasiBahanBakuKategoriBahanBakus) { if (kategori == string.Empty) { kategori = kategori + item.TBKategoriBahanBaku.Nama; } else { kategori = kategori + ", " + item.TBKategoriBahanBaku.Nama; } } } } return(kategori); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxIDProyeksi.Text = string.Empty; TextBoxPegawai.Text = pengguna.NamaLengkap; TextBoxTanggal.Text = DateTime.Now.ToString("d MMMM yyyy"); TextBoxTanggalPengiriman.Text = DateTime.Now.ToString("d MMMM yyyy"); Pengguna dmPengguna = new Pengguna(); DropDownListPenggunaPIC.DataSource = dmPengguna.CariBawahanSemua(db.TBPenggunas.FirstOrDefault(item => item.IDPengguna == pengguna.IDPengguna)).OrderBy(item => item.LevelJabatan).ThenBy(item => item.NamaLengkap); DropDownListPenggunaPIC.DataTextField = "NamaLengkap"; DropDownListPenggunaPIC.DataValueField = "IDPengguna"; DropDownListPenggunaPIC.DataBind(); DropDownListPenggunaPIC.Items.Insert(0, new ListItem { Text = pengguna.NamaLengkap, Value = pengguna.IDPengguna.ToString() }); TBBahanBaku[] daftarBahanBaku = db.TBBahanBakus.OrderBy(item => item.Nama).ToArray(); if (daftarBahanBaku.Count() == 0) { ButtonSimpanBahanBaku.Enabled = false; } else { TBBahanBaku bahanBaku = daftarBahanBaku.FirstOrDefault(); DropDownListBahanBaku.DataSource = daftarBahanBaku; DropDownListBahanBaku.DataTextField = "Nama"; DropDownListBahanBaku.DataValueField = "IDBahanBaku"; DropDownListBahanBaku.DataBind(); DropDownListSatuan.Items.Clear(); DropDownListSatuan.DataBind(); DropDownListSatuan.Items.Insert(0, new ListItem { Text = bahanBaku.TBSatuan1.Nama, Value = bahanBaku.IDSatuanKonversi.ToString() }); if (bahanBaku.TBSatuan != bahanBaku.TBSatuan1) { DropDownListSatuan.Items.Insert(1, new ListItem { Text = bahanBaku.TBSatuan.Nama, Value = bahanBaku.IDSatuan.ToString() }); } HiddenFieldHargaBeli.Value = bahanBaku.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat).HargaBeli.ToString(); HiddenFieldKonversi.Value = bahanBaku.Konversi.ToString(); } TBJenisBiayaProduksi[] daftarjenisBiayaProduksi = db.TBJenisBiayaProduksis.OrderBy(item => item.Nama).ToArray(); if (daftarjenisBiayaProduksi.Count() == 0) { ButtonSimpanBiayaTambahan.Enabled = false; } else { DropDownListJenisBiayaProduksi.DataSource = db.TBJenisBiayaProduksis.Select(item => new { item.IDJenisBiayaProduksi, item.Nama }).OrderBy(item => item.Nama).ToArray(); DropDownListJenisBiayaProduksi.DataTextField = "Nama"; DropDownListJenisBiayaProduksi.DataValueField = "IDJenisBiayaProduksi"; DropDownListJenisBiayaProduksi.DataBind(); } ViewState["ViewStateListDetail"] = new List <POProduksiDetail_Model>(); ViewState["ViewStateListKomposisi"] = new List <POProduksiKomposisi_Model>(); ViewState["ViewStateListBiayaTambahan"] = new List <POProduksiBiayaTambahan_Model>(); if (!string.IsNullOrEmpty(Request.QueryString["baru"])) { LoadPOLama(db, Request.QueryString["baru"]); } else if (!string.IsNullOrEmpty(Request.QueryString["edit"])) { LoadPOLama(db, Request.QueryString["edit"]); } else if (!string.IsNullOrEmpty(Request.QueryString["proy"]) && !string.IsNullOrEmpty(Request.QueryString["level"])) { LoadProyeksi(db, Request.QueryString["proy"], Request.QueryString["level"]); } else { TBStokBahanBaku[] daftarStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray(); DropDownListStokBahanBaku.DataSource = daftarStokBahanBaku.Select(item => new { item.IDStokBahanBaku, item.TBBahanBaku.Nama }).OrderBy(item => item.Nama).ToArray(); DropDownListStokBahanBaku.DataTextField = "Nama"; DropDownListStokBahanBaku.DataValueField = "IDStokBahanBaku"; DropDownListStokBahanBaku.DataBind(); if (DropDownListStokBahanBaku.Items.Count == 0) { ButtonSimpanDetail.Enabled = false; ButtonSimpan.Enabled = false; } else { LabelSatuan.Text = "/" + daftarStokBahanBaku.FirstOrDefault(item => item.IDStokBahanBaku == DropDownListStokBahanBaku.SelectedValue.ToInt()).TBBahanBaku.TBSatuan1.Nama; } } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBSatuan[] daftarSatuan = db.TBSatuans.OrderBy(item => item.Nama).ToArray(); DropDownListSatuanKecil.DataSource = daftarSatuan; DropDownListSatuanKecil.DataTextField = "Nama"; DropDownListSatuanKecil.DataValueField = "IDSatuan"; DropDownListSatuanKecil.DataBind(); DropDownListSatuanKecil.Items.Insert(0, new ListItem { Text = "-Pilih Satuan-", Value = "0" }); DropDownListSatuanBesar.DataSource = daftarSatuan; DropDownListSatuanBesar.DataTextField = "Nama"; DropDownListSatuanBesar.DataValueField = "IDSatuan"; DropDownListSatuanBesar.DataBind(); DropDownListSatuanBesar.Items.Insert(0, new ListItem { Text = "-Pilih Satuan-", Value = "0" }); CheckBoxListKategori.DataSource = db.TBKategoriBahanBakus.Select(item => new { item.IDKategoriBahanBaku, item.Nama }).ToArray(); CheckBoxListKategori.DataValueField = "IDKategoriBahanBaku"; CheckBoxListKategori.DataTextField = "Nama"; CheckBoxListKategori.DataBind(); TBBahanBaku bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Request.QueryString["id"].ToInt()); if (bahanBaku != null) { TextBoxNama.Text = bahanBaku.Nama; TextBoxKodeBahanBaku.Text = bahanBaku.KodeBahanBaku; TextBoxKonversi.Text = bahanBaku.Konversi.ToFormatHarga(); TextBoxBerat.Text = bahanBaku.Berat.ToString(); TextBoxDeskripsi.Text = bahanBaku.Deskripsi; DropDownListSatuanKecil.SelectedValue = bahanBaku.IDSatuan.ToString(); DropDownListSatuanBesar.SelectedValue = bahanBaku.IDSatuanKonversi.ToString(); TBStokBahanBaku stokBahanBaku = bahanBaku.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat); if (stokBahanBaku != null) { TextBoxHargaBeli.Text = (stokBahanBaku.HargaBeli * bahanBaku.Konversi).ToFormatHarga(); TextBoxStok.Text = (stokBahanBaku.Jumlah / bahanBaku.Konversi).ToFormatHarga(); TextBoxBatasStokAkanHabis.Text = (stokBahanBaku.JumlahMinimum / bahanBaku.Konversi).ToFormatHarga(); } LabelSatuanHargaBeli.Text = "/" + DropDownListSatuanBesar.SelectedItem.Text; LabelSatuanKonversi.Text = DropDownListSatuanKecil.SelectedItem.Text; LabelSatuanStok.Text = DropDownListSatuanBesar.SelectedItem.Text; LabelSatuanStokAkanHabis.Text = DropDownListSatuanBesar.SelectedItem.Text; if (bahanBaku.TBRelasiBahanBakuKategoriBahanBakus.Count > 0) { foreach (var item in bahanBaku.TBRelasiBahanBakuKategoriBahanBakus) { CheckBoxListKategori.Items.FindByValue(item.IDKategoriBahanBaku.ToString()).Selected = true; } } ButtonSimpan.Text = "Ubah"; LabelKeterangan.Text = "Ubah"; } else { LabelKeterangan.Text = "Tambah"; } } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (Page.IsValid) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBBahanBaku bahanBaku; decimal hargaBeli = TextBoxHargaBeli.Text.ToDecimal() / TextBoxKonversi.Text.ToDecimal(); decimal stok = TextBoxStok.Text.ToDecimal() * TextBoxKonversi.Text.ToDecimal(); decimal batasStok = TextBoxBatasStokAkanHabis.Text.ToDecimal() * TextBoxKonversi.Text.ToDecimal(); if (ButtonSimpan.Text == "Tambah") { TBSatuan satuanKecil = db.TBSatuans.FirstOrDefault(item => item.IDSatuan == DropDownListSatuanKecil.SelectedValue.ToInt()); TBSatuan satuanBesar = db.TBSatuans.FirstOrDefault(item => item.IDSatuan == DropDownListSatuanBesar.SelectedValue.ToInt()); bahanBaku = new TBBahanBaku { IDWMS = Guid.NewGuid(), TBSatuan = satuanKecil, TBSatuan1 = satuanBesar, TanggalDaftar = DateTime.Now, TanggalUpdate = DateTime.Now, Urutan = null, KodeBahanBaku = TextBoxKodeBahanBaku.Text, Nama = TextBoxNama.Text, Berat = TextBoxBerat.Text.ToDecimal(), Konversi = TextBoxKonversi.Text.ToDecimal(), Deskripsi = TextBoxDeskripsi.Text }; db.TBBahanBakus.InsertOnSubmit(bahanBaku); TambahKategori(bahanBaku, db); TBStokBahanBaku stokBahanBaku = StokBahanBaku_Class.InsertStokBahanBaku(db, DateTime.Now, pengguna.IDPengguna, pengguna.IDTempat, bahanBaku, hargaBeli, stok, batasStok, "Stok Baru Manual"); } else if (ButtonSimpan.Text == "Ubah") { TBSatuan satuanKecil = db.TBSatuans.FirstOrDefault(item => item.IDSatuan == DropDownListSatuanKecil.SelectedValue.ToInt()); TBSatuan satuanBesar = db.TBSatuans.FirstOrDefault(item => item.IDSatuan == DropDownListSatuanBesar.SelectedValue.ToInt()); bahanBaku = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Request.QueryString["id"].ToInt()); bahanBaku.TBSatuan = satuanKecil; bahanBaku.TBSatuan1 = satuanBesar; bahanBaku.TanggalUpdate = DateTime.Now; bahanBaku.Urutan = null; bahanBaku.KodeBahanBaku = TextBoxKodeBahanBaku.Text; bahanBaku.Nama = TextBoxNama.Text; bahanBaku.Berat = TextBoxBerat.Text.ToDecimal(); bahanBaku.Konversi = TextBoxKonversi.Text.ToDecimal(); bahanBaku.Deskripsi = TextBoxDeskripsi.Text; TambahKategori(bahanBaku, db); TBStokBahanBaku stokBahanBaku = db.TBStokBahanBakus.FirstOrDefault(item => item.TBBahanBaku == bahanBaku && item.IDTempat == pengguna.IDTempat); if (stokBahanBaku == null) { stokBahanBaku = StokBahanBaku_Class.InsertStokBahanBaku(db, DateTime.Now, pengguna.IDPengguna, pengguna.IDTempat, bahanBaku, hargaBeli, stok, batasStok, "Stok Baru Manual"); } else { stokBahanBaku.HargaBeli = hargaBeli; stokBahanBaku.JumlahMinimum = batasStok; } StokBahanBaku_Class.UpdateStockOpname(db, DateTime.Now, pengguna.IDPengguna, stokBahanBaku, stok, false, "Update Stok Manual"); } db.SubmitChanges(); } Response.Redirect("Default.aspx"); } }
private void TambahSubKomposisiBahanBaku(List <KomposisiProduk_Model> ViewStateKomposisiProduk, TBBahanBaku bahanBaku, decimal jumlahBahanWIP, TBStokBahanBaku[] daftarStokBahanBaku, int Level) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; foreach (var subItem in bahanBaku.TBKomposisiBahanBakus) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku); KomposisiProduk_Model komposisiDetail = ViewStateKomposisiProduk.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku && data.LevelProduksi == Level); if (komposisiDetail == null) { komposisiDetail = new KomposisiProduk_Model() { LevelProduksi = Level, IDBahanBaku = stokBahanBaku.IDBahanBaku.Value, IDSatuan = stokBahanBaku.TBBahanBaku.IDSatuan, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, stokBahanBaku, null), BahanBaku = stokBahanBaku.TBBahanBaku.Nama, Satuan = stokBahanBaku.TBBahanBaku.TBSatuan.Nama, JumlahPemakaian = subItem.Jumlah.Value * jumlahBahanWIP, BahanBakuDasar = stokBahanBaku.TBBahanBaku.TBKomposisiBahanBakus.Count > 0 ? false : true }; if (komposisiDetail.BahanBakuDasar == true) { komposisiDetail.Stok = stokBahanBaku.Jumlah.Value; komposisiDetail.Kurang = stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian < 0 ? Math.Abs(stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian) : 0; } ViewStateKomposisiProduk.Add(komposisiDetail); } else { komposisiDetail.JumlahPemakaian = komposisiDetail.JumlahPemakaian + subItem.Jumlah.Value * jumlahBahanWIP; if (komposisiDetail.BahanBakuDasar == true) { komposisiDetail.Stok = stokBahanBaku.Jumlah.Value; komposisiDetail.Kurang = stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian < 0 ? Math.Abs(stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian) : 0; } } if (stokBahanBaku.TBBahanBaku.TBKomposisiBahanBakus.Count > 0) { TambahSubKomposisiBahanBaku(ViewStateKomposisiProduk, stokBahanBaku.TBBahanBaku, (subItem.Jumlah.Value * jumlahBahanWIP), daftarStokBahanBaku, Level + 1); } } }
public static decimal HitungHargaPokokProduksi(DataClassesDatabaseDataContext db, int idTempat, TBBahanBaku bahanBaku) { return(HitungHargaPokokKomposisi(db, idTempat, bahanBaku) + HitungBiayaProduksi(db, idTempat, bahanBaku)); }
public static decimal HitungBiayaProduksi(DataClassesDatabaseDataContext db, int idTempat, TBBahanBaku bahanBaku) { var listBiayaProduksi = bahanBaku.TBRelasiJenisBiayaProduksiBahanBakus.ToArray(); decimal hasil = 0; foreach (var item in listBiayaProduksi) { PilihanBiayaProduksi biayaProduksi = (PilihanBiayaProduksi)item.EnumBiayaProduksi; switch (biayaProduksi) { case PilihanBiayaProduksi.TidakAda: hasil = hasil + 0; break; case PilihanBiayaProduksi.Persen: hasil = hasil + (item.Persentase.Value * HitungHargaPokokKomposisi(db, idTempat, bahanBaku)); break; case PilihanBiayaProduksi.Harga: hasil = hasil + item.Nominal.Value; break; } } return(hasil); }
public static decimal HitungHargaPokokKomposisi(DataClassesDatabaseDataContext db, int idTempat, TBBahanBaku bahanBaku) { decimal hargaBeli = 0; foreach (var komposisi in bahanBaku.TBKomposisiBahanBakus.ToArray()) { hargaBeli = hargaBeli + (komposisi.TBBahanBaku1.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == idTempat && item.IDBahanBaku == komposisi.IDBahanBaku).HargaBeli.Value *komposisi.Jumlah.Value); } return(hargaBeli); }
private void KurangSubKomposisiBahanBaku(List <KomposisiProduk_Model> ViewStateKomposisiProduk, TBBahanBaku bahanBaku, decimal jumlahBahanWIP, TBStokBahanBaku[] daftarStokBahanBaku, int Level) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; foreach (var subItem in bahanBaku.TBKomposisiBahanBakus) { TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku); KomposisiProduk_Model komposisiDetail = ViewStateKomposisiProduk.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku && data.LevelProduksi == Level); komposisiDetail.JumlahPemakaian = komposisiDetail.JumlahPemakaian - subItem.Jumlah.Value * jumlahBahanWIP; if (komposisiDetail.BahanBakuDasar == true) { komposisiDetail.Kurang = stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian < 0 ? Math.Abs(stokBahanBaku.Jumlah.Value - komposisiDetail.JumlahPemakaian) : 0; } if (komposisiDetail.JumlahPemakaian == 0) { ViewStateKomposisiProduk.Remove(komposisiDetail); } if (stokBahanBaku.TBBahanBaku.TBKomposisiBahanBakus.Count > 0) { KurangSubKomposisiBahanBaku(ViewStateKomposisiProduk, stokBahanBaku.TBBahanBaku, (subItem.Jumlah.Value * jumlahBahanWIP), daftarStokBahanBaku, Level + 1); } } }
public static TBStokBahanBaku InsertStokBahanBaku(DataClassesDatabaseDataContext db, DateTime tanggal, int idPengguna, int idTempat, TBBahanBaku bahanBaku, decimal hargaBeli, decimal jumlahStokAwal, decimal jumlahMinimum, string keterangan) { TBStokBahanBaku stokBahanBaku = new TBStokBahanBaku { IDTempat = idTempat, TBBahanBaku = bahanBaku, HargaBeli = hargaBeli, Jumlah = 0, JumlahMinimum = jumlahMinimum, }; db.TBStokBahanBakus.InsertOnSubmit(stokBahanBaku); if (jumlahStokAwal > 0) { UpdateBertambahBerkurang(db, tanggal, idPengguna, stokBahanBaku, jumlahStokAwal, stokBahanBaku.HargaBeli.Value, false, EnumJenisPerpindahanStok.StokOpnameBertambah, keterangan); } else { UpdateBertambahBerkurang(db, tanggal, idPengguna, stokBahanBaku, jumlahStokAwal, stokBahanBaku.HargaBeli.Value, false, EnumJenisPerpindahanStok.StokOpnameBerkurang, keterangan); } return(stokBahanBaku); }