示例#1
0
    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);
            }
        }
    }
示例#2
0
    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);
            }
        }
    }
示例#3
0
    private void KurangKomposisi(DataClassesDatabaseDataContext db, int idKombinasiProduk, int jumlah)
    {
        PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        List <KomposisiProduk_Model> ViewStateKomposisiProduk = (List <KomposisiProduk_Model>)ViewState["ViewStateKomposisiProduk"];

        TBKombinasiProduk[] daftarkombinasiProduk = db.TBKombinasiProduks.ToArray();
        TBStokBahanBaku[]   daftarStokBahanBaku   = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray();

        TBKombinasiProduk kombinasiProduk = daftarkombinasiProduk.FirstOrDefault(data => data.IDKombinasiProduk == idKombinasiProduk);

        foreach (var subItem in kombinasiProduk.TBKomposisiKombinasiProduks)
        {
            TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku);

            int Level = 0;

            KomposisiProduk_Model komposisiDetail = ViewStateKomposisiProduk.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku && data.LevelProduksi == Level);

            komposisiDetail.JumlahPemakaian = komposisiDetail.JumlahPemakaian - subItem.Jumlah.Value * jumlah;
            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 * jumlah), daftarStokBahanBaku, Level + 1);
            }
        }

        ViewState["ViewStateKomposisiProduk"] = ViewStateKomposisiProduk;
    }
示例#4
0
    private void TambahKomposisi(DataClassesDatabaseDataContext db, int idKombinasiProduk, int jumlah)
    {
        PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        List <KomposisiProduk_Model> ViewStateKomposisiProduk = (List <KomposisiProduk_Model>)ViewState["ViewStateKomposisiProduk"];

        TBKombinasiProduk[] daftarkombinasiProduk = db.TBKombinasiProduks.ToArray();
        TBStokBahanBaku[]   daftarStokBahanBaku   = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).ToArray();

        TBKombinasiProduk kombinasiProduk = daftarkombinasiProduk.FirstOrDefault(data => data.IDKombinasiProduk == idKombinasiProduk);

        foreach (var subItem in kombinasiProduk.TBKomposisiKombinasiProduks)
        {
            TBStokBahanBaku stokBahanBaku = daftarStokBahanBaku.FirstOrDefault(data => data.IDBahanBaku == subItem.IDBahanBaku);

            int Level = 0;

            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 * jumlah,
                    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 * jumlah;

                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 * jumlah), daftarStokBahanBaku, Level + 1);
            }
        }

        ViewState["ViewStateKomposisiProduk"] = ViewStateKomposisiProduk;
    }