Ejemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                TextBoxPegawai.Text = pengguna.NamaLengkap;

                TBProyeksi proyeksi = db.TBProyeksis.FirstOrDefault(item => item.IDProyeksi == Request.QueryString["id"]);
                TextBoxTanggalProyeksi.Text = proyeksi.TanggalProyeksi.ToFormatTanggal();
                TextBoxTanggalTarget.Text   = proyeksi.TanggalTarget.ToFormatTanggal();

                #region Produk
                var daftarProduk = proyeksi.TBProyeksiDetails.Select(item => new
                {
                    item.TBKombinasiProduk.KodeKombinasiProduk,
                    PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama,
                    Produk        = item.TBKombinasiProduk.TBProduk.Nama,
                    AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama,
                    Kategori      = StokProduk_Class.GabungkanSemuaKategoriProduk(null, null, item.TBKombinasiProduk),
                    item.Jumlah,
                    item.Sisa
                }).OrderBy(item => item.Produk).ThenBy(item => item.AtributProduk).ToArray();
                RepeaterProduk.DataSource = daftarProduk;
                RepeaterProduk.DataBind();

                if (daftarProduk.Sum(item => item.Sisa) <= 0)
                {
                    ButtonProduk.Visible = false;
                }
                #endregion

                if (proyeksi.TBProyeksiKomposisis.Count == 0)
                {
                    PanelKomposisi.Visible = false;

                    RepeaterKomposisi.DataSource = null;
                    RepeaterKomposisi.DataBind();

                    RepeaterBahanBakuDasar.DataSource = null;
                    RepeaterBahanBakuDasar.DataBind();
                }
                else
                {
                    PanelKomposisi.Visible = true;

                    #region Komposisi
                    var produksiBahanBaku = proyeksi.TBProyeksiKomposisis.Where(item => item.LevelProduksi > 0).GroupBy(item => new
                    {
                        item.LevelProduksi
                    })
                                            .Select(item => new
                    {
                        item.Key.LevelProduksi,
                        SubData = item.Where(data => data.LevelProduksi == item.Key.LevelProduksi && data.BahanBakuDasar == false).Select(data => new
                        {
                            data.IDBahanBaku,
                            data.IDSatuan,
                            BahanBaku = data.TBBahanBaku.Nama,
                            Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, data.TBBahanBaku),
                            Satuan    = data.TBSatuan.Nama,
                            data.Jumlah
                        }).OrderBy(data => data.BahanBaku),
                        StatusButton = item.Sum(data => data.Sisa) > 0 ? true : false
                    }).OrderBy(item => item.LevelProduksi);
                    RepeaterKomposisi.DataSource = produksiBahanBaku;
                    RepeaterKomposisi.DataBind();
                    #endregion

                    #region Komposisi Dasar
                    //RepeaterBahanBakuDasar.DataSource = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true)
                    //.Select(item => new
                    //{
                    //    item.TBBahanBaku.IDBahanBaku,
                    //    item.TBSatuan.IDSatuan,
                    //    BahanBaku = item.TBBahanBaku.Nama,
                    //    Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.TBBahanBaku),
                    //    Satuan = item.TBSatuan.Nama,
                    //    item.Jumlah,
                    //}).OrderBy(data => data.BahanBaku);
                    //RepeaterBahanBakuDasar.DataBind();

                    var purchaseOrder = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true).GroupBy(item => new
                    {
                        item.TBBahanBaku,
                        item.TBSatuan
                    })
                                        .Select(item => new
                    {
                        item.Key.TBBahanBaku.IDBahanBaku,
                        item.Key.TBSatuan.IDSatuan,
                        BahanBaku = item.Key.TBBahanBaku.Nama,
                        Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.Key.TBBahanBaku),
                        Satuan    = item.Key.TBSatuan.Nama,
                        Jumlah    = item.Sum(x => x.Jumlah),
                        Sisa      = item.Sum(x => x.Sisa)
                    }).OrderBy(data => data.BahanBaku);
                    RepeaterBahanBakuDasar.DataSource = purchaseOrder;
                    RepeaterBahanBakuDasar.DataBind();

                    if (purchaseOrder.Sum(item => item.Sisa) <= 0)
                    {
                        LinkButtonPurchaseOrder.Visible = false;
                    }
                    #endregion
                }

                RepeaterPOProduksiBahanBaku.DataSource = proyeksi.TBPOProduksiBahanBakus.OrderBy(item => item.Tanggal).Select(item => new
                {
                    item.IDPOProduksiBahanBaku,
                    Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "BahanBaku"),
                    item.Tanggal,
                    Pegawai  = item.TBPengguna.NamaLengkap,
                    Supplier = item.IDSupplier == null ? string.Empty : item.TBSupplier.Nama,
                    item.Grandtotal
                }).ToArray();
                RepeaterPOProduksiBahanBaku.DataBind();

                RepeaterPOProduksiProduk.DataSource = proyeksi.TBPOProduksiProduks.OrderBy(item => item.Tanggal).Select(item => new
                {
                    item.IDPOProduksiProduk,
                    Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "Produk"),
                    item.Tanggal,
                    Pegawai = item.TBPengguna.NamaLengkap,
                    Vendor  = item.IDVendor == null ? string.Empty : item.TBVendor.Nama,
                    item.Grandtotal
                }).ToArray();
                RepeaterPOProduksiProduk.DataBind();
            }
        }
    }
Ejemplo n.º 2
0
    private void LoadData()
    {
        List <ProyeksiDetail_Model>  ViewStateListDetail      = (List <ProyeksiDetail_Model>)ViewState["ViewStateListDetail"];
        List <KomposisiProduk_Model> ViewStateKomposisiProduk = (List <KomposisiProduk_Model>)ViewState["ViewStateKomposisiProduk"];

        #region Produk
        if (ViewStateListDetail.Count == 0)
        {
            RepeaterProduk.DataSource = null;
            RepeaterProduk.DataBind();
            LabelTotalJumlah.Text = string.Empty;
        }
        else
        {
            RepeaterProduk.DataSource = ViewStateListDetail;
            RepeaterProduk.DataBind();
            LabelTotalJumlah.Text = ViewStateListDetail.Sum(item => item.Jumlah).ToFormatHargaBulat();
        }
        #endregion


        if (ViewStateKomposisiProduk.Count == 0)
        {
            PanelKomposisi.Visible = false;

            RepeaterKomposisi.DataSource = null;
            RepeaterKomposisi.DataBind();

            RepeaterBahanBakuDasar.DataSource = null;
            RepeaterBahanBakuDasar.DataBind();
        }
        else
        {
            PanelKomposisi.Visible = true;

            #region Komposisi
            RepeaterKomposisi.DataSource = ViewStateKomposisiProduk.Where(item => item.LevelProduksi < ViewStateKomposisiProduk.Max(data => data.LevelProduksi)).GroupBy(item => new
            {
                item.LevelProduksi
            })
                                           .Select(item => new
            {
                item.Key,
                SubData = item.Where(data => data.LevelProduksi == item.Key.LevelProduksi && data.BahanBakuDasar == false).Select(data => new
                {
                    data.IDBahanBaku,
                    data.IDSatuan,
                    data.BahanBaku,
                    data.Kategori,
                    data.Satuan,
                    data.JumlahPemakaian
                }).OrderBy(data => data.BahanBaku)
            }).OrderByDescending(item => item.Key.LevelProduksi);
            RepeaterKomposisi.DataBind();
            #endregion

            #region Komposisi Dasar
            RepeaterBahanBakuDasar.DataSource = ViewStateKomposisiProduk.Where(data => data.BahanBakuDasar == true)
                                                .GroupBy(item => new
            {
                item.IDBahanBaku,
                item.IDSatuan,
                item.BahanBaku,
                item.Kategori,
                item.Satuan
            })
                                                .Select(item => new
            {
                item.Key.IDBahanBaku,
                item.Key.IDSatuan,
                item.Key.BahanBaku,
                item.Key.Kategori,
                item.Key.Satuan,
                JumlahPemakaian = item.Sum(x => x.JumlahPemakaian)
            }).OrderBy(data => data.BahanBaku);
            RepeaterBahanBakuDasar.DataBind();
            #endregion
        }

        ViewState["ViewStateListDetail"]      = ViewStateListDetail;
        ViewState["ViewStateKomposisiProduk"] = ViewStateKomposisiProduk;

        ButtonSimpan.Enabled = true;

        if (ViewStateListDetail.Count == 0)
        {
            ButtonSimpan.Enabled = false;
        }
    }
Ejemplo n.º 3
0
    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;

                TBProyeksi proyeksi = db.TBProyeksis.FirstOrDefault(item => item.IDProyeksi == Request.QueryString["id"]);

                LabelIDProyeksi.Text      = proyeksi.IDProyeksi;
                LabelPegawai.Text         = proyeksi.TBPengguna.NamaLengkap;
                LabelTempat.Text          = proyeksi.TBTempat.Nama;
                LabelTanggalProyeksi.Text = proyeksi.TanggalProyeksi.ToFormatTanggal();
                LabelTanggalTarget.Text   = proyeksi.TanggalTarget.ToFormatTanggal();
                LabelStatusProyeksi.Text  = Pengaturan.StatusProyeksi(proyeksi.EnumStatusProyeksi.Value);

                var varian = proyeksi.TBProyeksiDetails.Select(item => new { item.TBKombinasiProduk.IDAtributProduk, item.TBKombinasiProduk.TBAtributProduk.Nama }).OrderBy(item => item.Nama).Distinct();
                RepeaterVarian.DataSource = varian;
                RepeaterVarian.DataBind();

                KolomVarian.Attributes.Add("colspan", varian.Count().ToString());

                #region Produk
                RepeaterDetail.DataSource = proyeksi.TBProyeksiDetails.GroupBy(item => new
                {
                    item.TBKombinasiProduk.TBProduk
                }).Select(item => new
                {
                    PemilikProduk = item.Key.TBProduk.TBPemilikProduk.Nama,
                    Kategori      = StokProduk_Class.GabungkanSemuaKategoriProduk(null, null, item.FirstOrDefault().TBKombinasiProduk),
                    Produk        = item.Key.TBProduk.Nama,
                    Warna         = item.Key.TBProduk.TBWarna.Nama,
                    AtributProduk = varian.Select(data => new
                    {
                        Jumlah = item.FirstOrDefault(x => x.TBKombinasiProduk.IDAtributProduk == data.IDAtributProduk) != null ? item.FirstOrDefault(x => x.TBKombinasiProduk.IDAtributProduk == data.IDAtributProduk).Jumlah : 0
                    }),
                    Total = item.Sum(x => x.Jumlah)
                }).ToArray();
                RepeaterDetail.DataBind();
                #endregion

                if (proyeksi.TBProyeksiKomposisis.Count == 0)
                {
                    PanelKomposisi.Visible = false;

                    RepeaterKomposisi.DataSource = null;
                    RepeaterKomposisi.DataBind();

                    RepeaterBahanBakuDasar.DataSource = null;
                    RepeaterBahanBakuDasar.DataBind();
                }
                else
                {
                    PanelKomposisi.Visible = true;

                    #region Komposisi
                    RepeaterKomposisi.DataSource = proyeksi.TBProyeksiKomposisis.Where(item => item.LevelProduksi > 1).GroupBy(item => new
                    {
                        item.LevelProduksi
                    })
                                                   .Select(item => new
                    {
                        item.Key,
                        SubData = proyeksi.TBProyeksiKomposisis.Where(data => data.LevelProduksi == item.Key.LevelProduksi && data.BahanBakuDasar == false).Select(data => new
                        {
                            data.IDBahanBaku,
                            data.IDSatuan,
                            BahanBaku = data.TBBahanBaku.Nama,
                            Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, data.TBBahanBaku),
                            Satuan    = data.TBSatuan.Nama,
                            data.Jumlah
                        }).OrderBy(data => data.BahanBaku)
                    }).OrderBy(item => item.Key.LevelProduksi);
                    RepeaterKomposisi.DataBind();
                    #endregion

                    #region Komposisi Dasar
                    RepeaterBahanBakuDasar.DataSource = proyeksi.TBProyeksiKomposisis.Where(data => data.BahanBakuDasar == true).Select(data => new
                    {
                        data.IDBahanBaku,
                        data.IDSatuan,
                        BahanBaku = data.TBBahanBaku.Nama,
                        Kategori  = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, data.TBBahanBaku),
                        Satuan    = data.TBSatuan.Nama,
                        data.Jumlah,
                        data.Stok,
                        data.Kurang
                    }).OrderBy(data => data.BahanBaku);
                    RepeaterBahanBakuDasar.DataBind();
                    #endregion
                }

                LabelKeterangan.Text = proyeksi.Keterangan != null ? proyeksi.Keterangan : string.Empty;
            }
        }
    }