protected void ButtonSimpanBahanBaku_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            if (Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text) > 0)
            {
                using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
                {
                    PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                    List <StokBahanBaku_Model>      komposisiProduk = (List <StokBahanBaku_Model>)ViewState["KomposisiProduk"];
                    List <JenisBiayaProduksi_Model> biayaProduksi   = (List <JenisBiayaProduksi_Model>)ViewState["BiayaProduksi"];

                    var komposisi = komposisiProduk.FirstOrDefault(item => item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue));
                    if (komposisi == null)
                    {
                        TBStokBahanBaku stokBahanBaku = db.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat && item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue));

                        StokBahanBaku_Model StokBahanBaku_Model = new StokBahanBaku_Model
                        {
                            IDBahanBaku = stokBahanBaku.IDBahanBaku.Value,
                            BahanBaku   = stokBahanBaku.TBBahanBaku.Nama,
                            IDSatuan    = stokBahanBaku.TBBahanBaku.IDSatuan,
                            Jumlah      = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text),
                            Satuan      = stokBahanBaku.TBBahanBaku.TBSatuan.Nama,
                            HargaBeli   = stokBahanBaku.HargaBeli.Value,
                            Komposisi   = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue)).TBKomposisiBahanBakus.Select(item => new KomposisiBahanBaku_Model
                            {
                                BahanBaku       = item.TBBahanBaku1.Nama,
                                JumlahPemakaian = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text) * item.Jumlah.Value,
                                Satuan          = item.TBBahanBaku1.TBSatuan.Nama
                            }).OrderBy(item => item.BahanBaku).ToList()
                        };

                        komposisiProduk.Add(StokBahanBaku_Model);
                    }
                    else
                    {
                        komposisi.Jumlah = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text);
                    }

                    LoadKomposisiProduk(komposisiProduk, biayaProduksi);
                    LoadBiayaProduksi(komposisiProduk, biayaProduksi);

                    ViewState["KomposisiProduk"] = komposisiProduk;
                    ViewState["BiayaProduksi"]   = biayaProduksi;
                }
            }
        }

        CollapseBiayaProduksi.Attributes.Add("class", "collapse");
        CollapseKomposisiProduk.Attributes.Add("class", "collapse in");
        TextBoxJumlahBahanBaku.Text = string.Empty;
        TextBoxJumlahBahanBaku.Focus();
    }
    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");
    }