protected void DropDownListIDPOProduksi_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); var SisaDataDetailPOProduk = poProduksiProduk.TBPOProduksiProdukDetails.AsEnumerable() .Where(item => item.Sisa > 0) .Select(item => new { item.IDKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, Atribut = item.TBKombinasiProduk.TBAtributProduk.Nama, Sisa = item.Sisa.ToFormatHargaBulat() }); if (SisaDataDetailPOProduk.Count() == 0) { ButtonTerima.Visible = false; } RepeaterDetail.DataSource = SisaDataDetailPOProduk; RepeaterDetail.DataBind(); } else { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); } } }
protected void DropDownListCariSupplier_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); if (DropDownListCariSupplier.SelectedValue != "0") { DropDownListIDPOProduksi.Enabled = true; DropDownListIDPOProduksi.DataSource = db.TBPOProduksiBahanBakus.Where(item => item.IDSupplier == DropDownListCariSupplier.SelectedValue.ToInt() && item.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri && item.TanggalDownPayment == null).OrderByDescending(item => item.Nomor); DropDownListIDPOProduksi.DataTextField = "IDPOProduksiBahanBaku"; DropDownListIDPOProduksi.DataValueField = "IDPOProduksiBahanBaku"; DropDownListIDPOProduksi.DataBind(); DropDownListIDPOProduksi.Items.Insert(0, new ListItem { Value = "0", Text = "-Pilih-" }); } else { DropDownListIDPOProduksi.SelectedValue = "0"; DropDownListIDPOProduksi.Enabled = false; } } }
protected void DropDownListCariVendor_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); if (DropDownListCariVendor.SelectedValue != "0") { DropDownListIDPOProduksi.Enabled = true; DropDownListIDPOProduksi.DataSource = db.TBPOProduksiProduks.Where(item => item.IDVendor == DropDownListCariVendor.SelectedValue.ToInt() && item.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.PurchaseOrder && item.TBPOProduksiProdukDetails.Sum(item2 => item2.Sisa) > 0).OrderByDescending(item => item.Nomor); DropDownListIDPOProduksi.DataTextField = "IDPOProduksiProduk"; DropDownListIDPOProduksi.DataValueField = "IDPOProduksiProduk"; DropDownListIDPOProduksi.DataBind(); DropDownListIDPOProduksi.Items.Insert(0, new ListItem { Value = "0", Text = "-Pilih-" }); } else { DropDownListIDPOProduksi.SelectedValue = "0"; DropDownListIDPOProduksi.Enabled = false; } } }
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; TBPengirimanPOProduksiBahanBaku pengirimanPOProduksiBahanBaku = db.TBPengirimanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPengirimanPOProduksiBahanBaku == Request.QueryString["id"]); LabelJudul.Text = "DELIVERY RAW MATERIALS TO SUPPLIER"; LabelIDPengirimanPOProduksiBahanBaku.Text = pengirimanPOProduksiBahanBaku.IDPengirimanPOProduksiBahanBaku; LabelNamaSupplier.Text = pengirimanPOProduksiBahanBaku.TBPOProduksiBahanBaku.IDSupplier != null ? pengirimanPOProduksiBahanBaku.TBPOProduksiBahanBaku.TBSupplier.Nama : string.Empty; LabelAlamatSupplier.Text = pengirimanPOProduksiBahanBaku.TBPOProduksiBahanBaku.IDSupplier != null ? pengirimanPOProduksiBahanBaku.TBPOProduksiBahanBaku.TBSupplier.Alamat : string.Empty; LabelIDProduksi.Text = pengirimanPOProduksiBahanBaku.IDPOProduksiBahanBaku; LabelIDPengiriman.Text = pengirimanPOProduksiBahanBaku.IDPengirimanPOProduksiBahanBaku; LabelTanggal.Text = pengirimanPOProduksiBahanBaku.Tanggal.ToFormatTanggal(); LabelPengirim.Text = pengirimanPOProduksiBahanBaku.TBPengguna.NamaLengkap; RepeaterDetail.DataSource = pengirimanPOProduksiBahanBaku.TBPengirimanPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); } } }
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; TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == Request.QueryString["id"]); LabelJudul.Text = "(PRODUCT)"; LabelIDPenerimaanPOProduksiProduk.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk; LabelNamaVendor.Text = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Nama : string.Empty; LabelAlamatVendor.Text = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Alamat : string.Empty; LabelIDProduksi.Text = penerimaanPOProduksiProduk.IDPOProduksiProduk; LabelIDPenerimaan.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk; LabelTanggal.Text = penerimaanPOProduksiProduk.TanggalDatang.ToFormatTanggal(); LabelPenerima.Text = penerimaanPOProduksiProduk.TBPengguna.NamaLengkap; RepeaterDetail.DataSource = penerimaanPOProduksiProduk.TBPenerimaanPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPenerimaanPOProduksiBahanBaku penerimaan = db.TBPenerimaanPOProduksiBahanBakus.FirstOrDefault(item => item.IDPenerimaanPOProduksiBahanBaku == Request.QueryString["id"]); TextBoxIDProyeksi.Text = penerimaan.TBPOProduksiBahanBaku.IDProyeksi != null ? penerimaan.TBPOProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = penerimaan.IDPOProduksiBahanBaku; TextBoxPegawai.Text = penerimaan.TBPengguna1.NamaLengkap; TextBoxTanggal.Text = penerimaan.TanggalTerima.ToFormatTanggal(); TextBoxStatus.Text = penerimaan.TBPOProduksiBahanBakuPenagihan != null ? penerimaan.TBPOProduksiBahanBakuPenagihan.StatusPembayaran == false ? "Kontra" : "Lunas" : "Baru"; TextBoxIDPOProduksiBahanBakuPenagihan.Text = penerimaan.TBPOProduksiBahanBakuPenagihan == null ? string.Empty : penerimaan.IDPOProduksiBahanBakuPenagihan; TextBoxSupplier.Text = penerimaan.TBPOProduksiBahanBaku.TBSupplier.Nama; TextBoxEmail.Text = penerimaan.TBPOProduksiBahanBaku.TBSupplier.Email; TextBoxAlamat.Text = penerimaan.TBPOProduksiBahanBaku.TBSupplier.Alamat; TextBoxTelepon1.Text = penerimaan.TBPOProduksiBahanBaku.TBSupplier.Telepon1; TextBoxTelepon2.Text = penerimaan.TBPOProduksiBahanBaku.TBSupplier.Telepon2; RepeaterDetail.DataSource = penerimaan.TBPenerimaanPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); TextBoxKeterangan.Text = penerimaan.Keterangan; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProdukPenagihan poProduksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == Request.QueryString["id"]); TextBoxIDPOProduksiBahanBakuPenagihan.Text = poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan; TextBoxPegawai.Text = poProduksiProdukPenagihan.TBPengguna.NamaLengkap; TextBoxStatus.Text = poProduksiProdukPenagihan.StatusPembayaran == false ? "Tagihan" : "Lunas"; TextBoxVendor.Text = poProduksiProdukPenagihan.TBVendor.Nama; TextBoxAlamat.Text = poProduksiProdukPenagihan.TBVendor.Alamat; TextBoxEmail.Text = poProduksiProdukPenagihan.TBVendor.Email; TextBoxTelepon1.Text = poProduksiProdukPenagihan.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProdukPenagihan.TBVendor.Telepon2; TextBoxKeterangan.Text = poProduksiProdukPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiProdukPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukReturs.Select(item => new { item.IDPOProduksiProdukRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiProdukPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => item.TBPOProduksiProduk).Distinct().Where(item => item.IDPOProduksiProdukPenagihan == poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan).Select(item => new { item.IDPOProduksiProduk, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiProdukPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiProdukPenagihan.TotalBayar.ToFormatHarga(); } } }
protected void DropDownListIDPOProduksi_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { ButtonSimpan.Enabled = false; if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBahanBaku.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBahanBaku.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiBahanBaku.TotalJumlah.ToFormatHarga(); LabelTotalSubtotal.Text = poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); LabelTotalSisa.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Sum(data => data.Sisa).ToFormatHarga(); TextBoxKeterangan.Text = poProduksiBahanBaku.Keterangan; TextBoxBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); ButtonSimpan.Enabled = true; } else { TextBoxStatusHPP.Text = string.Empty; TextBoxPegawaiPIC.Text = string.Empty; TextBoxPembuat.Text = string.Empty; TextBoxTanggalJatuhTempo.Text = string.Empty; TextBoxTanggalPengiriman.Text = string.Empty; RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); LabelTotalJumlah.Text = "0"; LabelTotalSubtotal.Text = "0"; LabelTotalSisa.Text = "0"; TextBoxKeterangan.Text = string.Empty; TextBoxBiayaLainLain.Text = "0"; TextBoxPotonganPO.Text = "0"; LabelTax.Text = "Tax (0%)"; TextBoxTax.Text = "0"; TextBoxGrandtotal.Text = "0"; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); RepeaterKomposisi.DataSource = poProduksiProduk.TBPOProduksiProdukKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiProduk.TBPOProduksiProdukKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiProduk.TBPOProduksiProdukBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); RepeaterPengiriman.DataSource = db.TBPengirimanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPengirimanPOProduksiProduk, item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPengiriman.aspx?id=" + item.IDPengirimanPOProduksiProduk + "')" }).ToArray(); RepeaterPengiriman.DataBind(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
private void LoadData() { List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; RepeaterDetail.DataSource = ViewStateListDetail; RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = ViewStateListDetail.Sum(item => item.SubtotalHarga).ToFormatHarga(); ViewState["ViewStateListDetail"] = ViewStateListDetail; HitungGrandTotal(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxVendor.Text = poProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); RepeaterPenerimaan.DataSource = db.TBPenerimaanPOProduksiProduks.Where(item => item.IDPOProduksiProduk == Request.QueryString["id"]).Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalDatang, Pegawai = item.TBPengguna.NamaLengkap, Cetak = "return popitup('../CetakPenerimaan.aspx?id=" + item.IDPenerimaanPOProduksiProduk + "')" }); RepeaterPenerimaan.DataBind(); if (poProduksiProduk.TBPenerimaanPOProduksiProduks.Count > 0 || poProduksiProduk.TBPengirimanPOProduksiProduks.Count > 0) { ButtonEdit.Visible = false; } } } }
protected void bindDD() { string sql_command = " EXEC [dbo].[get_template_03_11] '" + param_projid + "'"; DataTable dt = ClassConfig.GetDataSQL(sql_command); if (dt.Rows.Count > 0) { Repeater1.DataSource = dt; Repeater1.DataBind(); RepeaterDetail.DataSource = dt; RepeaterDetail.DataBind(); } }
private void LoadData() { List <StokProduk_Model> ViewStateListDetail = (List <StokProduk_Model>)ViewState["ViewStateListDetail"]; RepeaterDetail.DataSource = ViewStateListDetail.GroupBy(item => item.IDProduk).Select(item => new { item.FirstOrDefault().Produk, IDProduk = item.Key, Body = item.Select(item2 => new { item2.Atribut, item2.Jumlah }), CountDetail = item.Count() }); RepeaterDetail.DataBind(); }
private void LoadData() { List <StokProduk_Model> ViewStateListDetail = (List <StokProduk_Model>)ViewState["ViewStateListDetail"]; RepeaterDetail.DataSource = ViewStateListDetail; RepeaterDetail.DataBind(); if (ViewStateListDetail.Count == 0) { LabelTotal.Text = "0"; } else { LabelTotal.Text = ViewStateListDetail.Sum(item => item.SubtotalHargaBeli).ToFormatHarga(); } ViewState["ViewStateListDetail"] = ViewStateListDetail; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); TextBoxIDProyeksi.Text = poProduksiProduk.IDProyeksi != null ? poProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiProduk.Text = poProduksiProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiProduk.TBPengguna1.NamaLengkap; TextBoxPembuat.Text = poProduksiProduk.TBPengguna.NamaLengkap + " / " + poProduksiProduk.Tanggal.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiProduk.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxVendor.Text = poProduksiProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiProduk.TBVendor.Telepon2; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.ToArray(); RepeaterDetail.DataBind(); LabelTotalJumlah.Text = poProduksiProduk.TotalJumlah.ToFormatHargaBulat(); LabelTotalSubtotal.Text = poProduksiProduk.SubtotalTotalHargaVendor.ToFormatHarga(); LabelTotalSisa.Text = poProduksiProduk.TBPOProduksiProdukDetails.Sum(data => data.Sisa).ToFormatHargaBulat(); TextBoxKeterangan.Text = poProduksiProduk.Keterangan; TextBoxBiayaLainLain.Text = poProduksiProduk.BiayaLainLain.ToFormatHarga(); TextBoxPotonganPO.Text = poProduksiProduk.PotonganPOProduksiProduk.ToFormatHarga(); LabelTax.Text = "Tax (" + (poProduksiProduk.PersentaseTax * 100).ToFormatHarga() + "%)"; TextBoxTax.Text = poProduksiProduk.Tax.ToFormatHarga(); TextBoxGrandtotal.Text = poProduksiProduk.Grandtotal.ToFormatHarga(); TextBoxPembayar.Text = poProduksiProduk.IDPenggunaDP != null ? poProduksiProduk.TBPengguna2.NamaLengkap : string.Empty; TextBoxTanggalDP.Text = poProduksiProduk.TanggalDownPayment != null?poProduksiProduk.TanggalDownPayment.ToFormatTanggal() : string.Empty; TextBoxJenisPembayaran.Text = poProduksiProduk.IDJenisPembayaran != null ? poProduksiProduk.TBJenisPembayaran.Nama : string.Empty; TextBoxDownPayment.Text = poProduksiProduk.DownPayment != null?poProduksiProduk.DownPayment.ToFormatHarga() : string.Empty; } } }
private void LoadData() { List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; RepeaterDetail.DataSource = ViewStateListDetail; RepeaterDetail.DataBind(); if (ViewStateListDetail.Count == 0) { LabelTotalJumlah.Text = "0"; LabelTotalSubtotal.Text = "0"; } else { LabelTotalJumlah.Text = ViewStateListDetail.Sum(item => item.Jumlah).ToFormatHargaBulat(); LabelTotalSubtotal.Text = ViewStateListDetail.Sum(item => item.SubtotalHarga).ToFormatHarga(); } ViewState["ViewStateListDetail"] = ViewStateListDetail; HitungGrandTotal(); }
protected void DropDownListIDPOProduksi_SelectedIndexChanged(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (DropDownListIDPOProduksi.SelectedValue != "0") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == DropDownListIDPOProduksi.SelectedValue); TextBoxIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); TextBoxTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); var SisaDataDetailPOProduk = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.AsEnumerable() .Where(item => item.Sisa > 0) .Select(item => new { item.IDBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, Sisa = item.Sisa.ToFormatHarga() }); if (SisaDataDetailPOProduk.Count() == 0) { ButtonTerima.Visible = false; } RepeaterDetail.DataSource = SisaDataDetailPOProduk; RepeaterDetail.DataBind(); } else { RepeaterDetail.DataSource = null; RepeaterDetail.DataBind(); } } }
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; TBPOProduksiBahanBakuRetur dataRetur = db.TBPOProduksiBahanBakuReturs.FirstOrDefault(item => item.IDPOProduksiBahanBakuRetur == Request.QueryString["id"]); var detailRetur = dataRetur.TBPOProduksiBahanBakuReturDetails.Select(item => new { item.TBStokBahanBaku.TBBahanBaku.Nama, item.HargaRetur, item.Jumlah, item.Subtotal, Satuan = item.TBStokBahanBaku.TBBahanBaku.TBSatuan1.Nama }); RepeaterDetail.DataSource = detailRetur; RepeaterDetail.DataBind(); LabelIDReturBahanBaku.Text = dataRetur.IDPOProduksiBahanBakuRetur; LabelPengguna.Text = dataRetur.TBPengguna.NamaLengkap; LabelIDPenerimaanPOProduksiBahanBaku.Text = dataRetur.IDPenerimaanPOProduksiBahanBaku == null ? "-" : dataRetur.IDPenerimaanPOProduksiBahanBaku; LabelSupplier.Text = dataRetur.TBSupplier.Nama; LabelTanggalRetur.Text = dataRetur.TanggalRetur.ToFormatTanggalJam(); LabelIDPenagihan.Text = dataRetur.IDPOProduksiBahanBakuPenagihan == null ? "-" : dataRetur.IDPOProduksiBahanBakuPenagihan; LabelTotalSubtotal.Text = dataRetur.Grandtotal.Value.ToFormatHarga(); LabelStatusRetur.Text = Pengaturan.StatusPOProduksi(dataRetur.EnumStatusRetur.Value); LabelKeterangan.Text = dataRetur.Keterangan; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiBahanBakuRetur POProduksiBahanBakuRetur = db.TBPOProduksiBahanBakuReturs.FirstOrDefault(item => item.IDPOProduksiBahanBakuRetur == Request.QueryString["id"]); TextBoxIDPOProduksiBahanBakuRetur.Text = POProduksiBahanBakuRetur.IDPOProduksiBahanBakuRetur; TextBoxIDPenerimaanPOProduksiBahanBaku.Text = POProduksiBahanBakuRetur.IDPenerimaanPOProduksiBahanBaku != null ? POProduksiBahanBakuRetur.IDPenerimaanPOProduksiBahanBaku : string.Empty; TextBoxPegawai.Text = POProduksiBahanBakuRetur.TBPengguna.NamaLengkap; TextBoxTanggal.Text = POProduksiBahanBakuRetur.TanggalRetur.ToFormatTanggal(); TextBoxIDPOProduksiBahanBakuPenagihan.Text = POProduksiBahanBakuRetur.IDPOProduksiBahanBakuPenagihan != null ? POProduksiBahanBakuRetur.IDPOProduksiBahanBakuPenagihan : string.Empty; TextBoxStatus.Text = Pengaturan.StatusPOProduksi(POProduksiBahanBakuRetur.EnumStatusRetur.Value);; TextBoxSupplier.Text = POProduksiBahanBakuRetur.TBSupplier.Nama; TextBoxEmail.Text = POProduksiBahanBakuRetur.TBSupplier.Email; TextBoxAlamat.Text = POProduksiBahanBakuRetur.TBSupplier.Alamat; TextBoxTelepon1.Text = POProduksiBahanBakuRetur.TBSupplier.Telepon1; TextBoxTelepon2.Text = POProduksiBahanBakuRetur.TBSupplier.Telepon2; RepeaterDetail.DataSource = POProduksiBahanBakuRetur.TBPOProduksiBahanBakuReturDetails.Select(item => new { item.TBStokBahanBaku.TBBahanBaku.Nama, item.HargaRetur, item.Jumlah, item.Subtotal, Satuan = item.TBSatuan.Nama });; RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = POProduksiBahanBakuRetur.Grandtotal.Value.ToFormatHarga(); TextBoxKeterangan.Text = string.Empty; } } }
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; TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == Request.QueryString["id"]); LabelJudul.Text = "(PRODUCT)"; LabelNamaVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Nama : string.Empty; LabelAlamatVendor.Text = poProduksiProduk.IDVendor != null ? poProduksiProduk.TBVendor.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiProduk.IDProyeksi; LabelIDProduksi.Text = poProduksiProduk.IDPOProduksiProduk; RepeaterDetail.DataSource = poProduksiProduk.TBPOProduksiProdukDetails.Select(item => new { item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, item.TBKombinasiProduk), item.Jumlah, item.Sisa }).ToArray(); RepeaterDetail.DataBind(); } } }
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; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); LabelJudul.Text = "(RAW MATERIAL)"; LabelNamaSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Nama : string.Empty; LabelAlamatSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi; LabelIDProduksi.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new { item.TBBahanBaku.KodeBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, null, item.TBBahanBaku), item.Jumlah, item.Sisa }).ToArray(); RepeaterDetail.DataBind(); } } }
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; TBPOProduksiProdukPenagihan poProduksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == Request.QueryString["id"]); LabelIDPOProduksiProdukPenagihan.Text = poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan; LabelNamaVendor.Text = poProduksiProdukPenagihan.TBVendor.Nama; LabelAlamatVendor.Text = poProduksiProdukPenagihan.TBVendor.Alamat; LabelPegawai.Text = poProduksiProdukPenagihan.TBPengguna.NamaLengkap; LabelStatus.Text = poProduksiProdukPenagihan.StatusPembayaran == false ? "Tagihan" : "Lunas"; LabelKeterangan.Text = poProduksiProdukPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiProdukPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukReturs.Select(item => new { item.IDPOProduksiProdukRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiProdukPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = RepeaterDownPayment.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => item.TBPOProduksiProduk).Distinct().Where(item => item.IDPOProduksiProdukPenagihan == poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan).Select(item => new { item.IDPOProduksiProduk, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiProdukPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiProdukPenagihan.TotalBayar.ToFormatHarga(); } } }
private void LoadData() { List <POProduksiDetail_Model> ViewStateListDetail = (List <POProduksiDetail_Model>)ViewState["ViewStateListDetail"]; RepeaterDetail.DataSource = ViewStateListDetail; RepeaterDetail.DataBind(); if (ViewStateListDetail.Count == 0) { LabelTotalJumlah.Text = "0"; LabelTotalSubtotal.Text = "0"; } else { LabelTotalJumlah.Text = ViewStateListDetail.Sum(item => item.Jumlah).ToFormatHarga(); LabelTotalSubtotal.Text = ViewStateListDetail.Sum(item => item.SubtotalHPP).ToFormatHarga(); } ViewState["ViewStateListDetail"] = ViewStateListDetail; List <POProduksiKomposisi_Model> ViewStateListKomposisi = (List <POProduksiKomposisi_Model>)ViewState["ViewStateListKomposisi"]; RepeaterKomposisi.DataSource = ViewStateListKomposisi .GroupBy(item => new { item.BahanBaku, item.Satuan }) .Select(item => new { item.Key.BahanBaku, item.Key.Satuan, JumlahKebutuhan = item.Sum(x => x.JumlahKebutuhan), SubtotalKebutuhan = item.Sum(x => x.SubtotalKebutuhan) }) .OrderBy(item => item.BahanBaku); RepeaterKomposisi.DataBind(); if (ViewStateListKomposisi.Count == 0) { LabelTotalSubtotalKomposisi.Text = string.Empty; } else { LabelTotalSubtotalKomposisi.Text = ViewStateListKomposisi.Sum(item => item.SubtotalKebutuhan).ToFormatHarga(); } ViewState["ViewStateListKomposisi"] = ViewStateListKomposisi; List <POProduksiBiayaTambahan_Model> ViewStateListBiayaTambahan = (List <POProduksiBiayaTambahan_Model>)ViewState["ViewStateListBiayaTambahan"]; RepeaterBiayaTambahan.DataSource = ViewStateListBiayaTambahan .GroupBy(item => new { item.Nama }) .Select(item => new { item.Key.Nama, Biaya = item.Sum(x => x.SubtotalBiaya) }) .OrderBy(item => item.Nama); RepeaterBiayaTambahan.DataBind(); if (ViewStateListBiayaTambahan.Count == 0) { LabelTotalSubtotalBiayaTambahan.Text = string.Empty; } else { LabelTotalSubtotalBiayaTambahan.Text = ViewStateListBiayaTambahan.Sum(item => item.SubtotalBiaya).ToFormatHarga(); } ViewState["ViewStateListBiayaTambahan"] = ViewStateListBiayaTambahan; }
public void QueryData(int IDpelanggan, int searchBY, int tahun) { #region Pengaturan Label Tahun LabelTahunIni1.Text = tahun.ToString(); LabelTahunIni2.Text = tahun.ToString(); LabelTahunLalu1.Text = (tahun - 1).ToString(); LabelTahunLalu2.Text = (tahun - 1).ToString(); #endregion Literal LiteralChart = (Literal)this.Page.Master.FindControl("LiteralChart"); LiteralChart.Text = string.Empty; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBTransaksiDetail[] DetailTransaksiDB; var KombinasiProdukDB = db.TBKombinasiProduks.ToArray(); #region Query perilaku belanja pelanggan [average budget, average quantity, most buy category] #region Master Query //AMBIL DATA MASTER DARI DB if (IDpelanggan != 0) { DetailTransaksiDB = db.TBTransaksiDetails.Where(item => item.TBTransaksi.IDPelanggan == IDpelanggan && item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete && (item.TBTransaksi.TanggalTransaksi.Value.Year == tahun || item.TBTransaksi.TanggalTransaksi.Value.Year == tahun - 1)).ToArray(); } else { DetailTransaksiDB = db.TBTransaksiDetails.Where(item => item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete && (item.TBTransaksi.TanggalTransaksi.Value.Year == tahun || item.TBTransaksi.TanggalTransaksi.Value.Year == tahun - 1)).ToArray(); } if (DetailTransaksiDB.Count() != 0) { //TAHUN INI var _dataDetailTransaksiTahunIni = DetailTransaksiDB .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun) .GroupBy(item => item.TBTransaksi.TanggalTransaksi.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.Quantity) == 0 ? 0 : item.Sum(item2 => item2.Quantity), AverageGrandTotal = item.Average(item2 => item2.TBTransaksi.GrandTotal), AverageQty = item.Average(item2 => item2.TBTransaksi.JumlahProduk) }).ToArray(); var _dataDetailTransaksiTahunIniNoFilter = DetailTransaksiDB .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun) .GroupBy(item => item.TBTransaksi.TanggalTransaksi.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.Quantity) == 0 ? 0 : item.Sum(item2 => item2.Quantity), AverageGrandTotal = item.Average(item2 => item2.TBTransaksi.GrandTotal), AverageQty = item.Average(item2 => item2.TBTransaksi.JumlahProduk) }).ToArray(); //TAHUN LALU var _dataDetailTransaksiTahunLalu = DetailTransaksiDB .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun - 1) .GroupBy(item => item.TBTransaksi.TanggalTransaksi.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.Quantity) == 0 ? 0 : item.Sum(item2 => item2.Quantity), AverageGrandTotal = item.Average(item2 => item2.TBTransaksi.GrandTotal), AverageQty = item.Average(item2 => item2.TBTransaksi.JumlahProduk) }).ToArray(); var _dataDetailTransaksiTahunLaluNoFilter = DetailTransaksiDB .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun - 1) .GroupBy(item => item.TBTransaksi.TanggalTransaksi.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.Quantity) == 0 ? 0 : item.Sum(item2 => item2.Quantity), AverageGrandTotal = item.Average(item2 => item2.TBTransaksi.GrandTotal), AverageQty = item.Average(item2 => item2.TBTransaksi.JumlahProduk) }).ToArray(); #endregion var averageBudget = DetailTransaksiDB.Average(item => item.TBTransaksi.GrandTotal); var averageQty = DetailTransaksiDB.Average(item => item.TBTransaksi.JumlahProduk); var mostBuyCategory = DetailTransaksiDB.GroupBy(item => item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 0 ? "" : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 1 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Skip(1).FirstOrDefault().TBKategoriProduk.Nama) .Select(item => new { Key = item.Key, Quantity = item.Sum(item2 => item2.Quantity), TotalPenjualan = item.Sum(item2 => item2.Subtotal) }).OrderByDescending(item => item.TotalPenjualan).FirstOrDefault().Key; #endregion #region Query rekomendasi [ algo people also buy, top product , dead stock ] List <string> ListSuggestProduk = new List <string>(); var rekomendasiByCategory = db.TBKategoriProduks .Where(item => item.TBRekomendasiKategoriProduks.Count > 0 && item.TBRekomendasiKategoriProduks1.Count > 0) .Select(item => new { Nama = item.Nama, Jumlah = (item.TBRekomendasiKategoriProduks.Count > 0 ? item.TBRekomendasiKategoriProduks.Sum(item2 => item2.Jumlah) : 0) + (item.TBRekomendasiKategoriProduks1.Count > 0 ? item.TBRekomendasiKategoriProduks1.Sum(item2 => item2.Jumlah) : 0), Nilai = (item.TBRekomendasiKategoriProduks.Count > 0 ? item.TBRekomendasiKategoriProduks.Sum(item2 => item2.Nilai) : 0) + (item.TBRekomendasiKategoriProduks1.Count > 0 ? item.TBRekomendasiKategoriProduks1.Sum(item2 => item2.Nilai) : 0), Rekomendasi = GabungRekomendasi(item.TBRekomendasiKategoriProduks.ToList(), item.TBRekomendasiKategoriProduks1.ToList()) }) .OrderByDescending(item => item.Jumlah) .FirstOrDefault(); var topProduk = db.TBTransaksiDetails.Where(item => item.HargaJual <= averageBudget ).GroupBy(item => new { Produk = item.TBKombinasiProduk.TBProduk.Nama, Kategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk != null ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : string.Empty, HargaJual = item.TBKombinasiProduk.TBStokProduks.FirstOrDefault().HargaJual }) .Select(item => new { Key = item.Key, Quantity = item.Sum(item2 => item2.Quantity), TotalDiscount = item.Sum(item2 => item2.Discount * item2.Quantity), TotalPenjualan = item.Sum(item2 => item2.Subtotal) }).OrderByDescending(item => item.TotalPenjualan).Take(20).ToArray(); var DeadStockProduct = KombinasiProdukDB.Where(item => item.TBStokProduks.FirstOrDefault().HargaJual <= averageBudget) .OrderBy(item => item.TanggalDaftar).Take(20).ToArray(); //var suggest1_TopProduk_FilteredByPeopleAlsoBuy = topProduk.Where(item => item.Key.HargaJual <= averageBudget && // item.Key.Kategori == rekomendasiByCategory.Nama).Take(2); for (int i = 0; i < topProduk.Count(); i++) { if (ListSuggestProduk.Count != 0) { if (ListSuggestProduk[i].ToString() != topProduk[i].Key.Produk) { ListSuggestProduk.Add(topProduk[i].Key.Produk); } if (ListSuggestProduk[i].ToString() != DeadStockProduct[i].Nama) { ListSuggestProduk.Add(DeadStockProduct[i].Nama); } } else { ListSuggestProduk.Add(topProduk[i].Key.Produk); ListSuggestProduk.Add(DeadStockProduct[i].Nama); } } RepeaterSuggestProduct.DataSource = ListSuggestProduk.Select(item => new { Nama = item.ToString() }).Take(10).ToArray(); RepeaterSuggestProduct.DataBind(); //var suggest1_TopProduk_FilteredByPeopleAlsoBuy = topProduk.Where(item => item.Key.HargaJual <= averageBudget).Take(2); //var suggest2_TopProduk = topProduk.Where(item => item.Key.HargaJual <= averageBudget).Take(2); //var suggest3_deadStock = KombinasiProdukDB.Where(item => item.TBProduk.TBRelasiProdukKategoriProduks.Count == 1 ? // item.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama == rekomendasiByCategory.Nama && item.TBStokProduks.FirstOrDefault().HargaJual <= averageBudget : // item.TBProduk.TBRelasiProdukKategoriProduks.Skip(1).FirstOrDefault().TBKategoriProduk.Nama == rekomendasiByCategory.Nama && item.TBStokProduks.FirstOrDefault().HargaJual <= averageBudget) // .OrderBy(item => item.TanggalDaftar).Take(2); var suggest3_deadStock = KombinasiProdukDB.Where(item => item.TBProduk.TBRelasiProdukKategoriProduks.Count == 1 ? item.TBStokProduks.FirstOrDefault().HargaJual <= averageBudget : item.TBStokProduks.FirstOrDefault().HargaJual <= averageBudget) .OrderBy(item => item.TanggalDaftar).Take(2); #endregion #region Line Chart - Customer Analysis Monthly (tahun ini dan tahun lalu) LiteralChart.Text += "<script> $(function () { var dataChart = ["; //If searched by Penjualan if (searchBY == 1) { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIniNoFilter.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluNoFilter.FirstOrDefault(item => item.Key == i); decimal averagePenjualanTahunIni = 0, averagePenjualanTahunLalu = 0; if (_transaksiTahunIni != null) { averagePenjualanTahunIni = (decimal)_transaksiTahunIni.AverageGrandTotal; } if (_transaksiTahunLalu != null) { averagePenjualanTahunLalu = (decimal)_transaksiTahunLalu.AverageGrandTotal; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + Math.Ceiling(averagePenjualanTahunLalu) + ", '" + tahun + "': " + Math.Ceiling(averagePenjualanTahunIni) + " }, "; } } else //searched by Qty { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIniNoFilter.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluNoFilter.FirstOrDefault(item => item.Key == i); decimal averageQtyTahunIni = 0, averageQtyTahunLalu = 0; if (_transaksiTahunIni != null) { averageQtyTahunIni = (decimal)_transaksiTahunIni.AverageQty; } if (_transaksiTahunLalu != null) { averageQtyTahunLalu = (decimal)_transaksiTahunLalu.AverageQty; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + Math.Ceiling(averageQtyTahunLalu) + ", '" + tahun + "': " + Math.Ceiling(averageQtyTahunIni) + " }, "; } } LiteralChart.Text += "]; Morris.Line({ element: 'graph11', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "lineColors:['#7FC4C1','#FF625D'],"; LiteralChart.Text += " parseTime: false}); eval(dataChart); }); </script>"; #endregion #region RepeaterDetail dari Trend Analysis Monthly PanelDetail.Visible = true; //Group by Month & Year, ini digunakan untuk tampilan repeater detail var _dataDetail2Tahun = DetailTransaksiDB .GroupBy(item => new { item.TBTransaksi.TanggalTransaksi.Value.Month, item.TBTransaksi.TanggalTransaksi.Value.Year }) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal), TotalTransaksi = item.Count(), TotalNominalDiscount = item.Sum(item2 => item2.Discount) == 0 ? 0 : item.Sum(item2 => item2.Discount * item2.Quantity), AverageGrandTotal = item.Average(item2 => item2.TBTransaksi.GrandTotal), AverageQty = item.Average(item2 => item2.TBTransaksi.JumlahProduk), }).ToArray(); List <int> Bulan = new List <int>(); for (int i = 1; i <= 12; i++) { Bulan.Add(i); } if (searchBY == 1) { PanelReportPenjualan.Visible = true; PanelReportQty.Visible = false; var Data = Bulan.Select(item => new { Bulan = new DateTime(DropDownListTahun.SelectedValue.ToInt(), item, 1).ToString("MMMM"), TotalTransaksiTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.TotalTransaksi), TotalTransaksiTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.TotalTransaksi), averageGrandTotalTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : Math.Ceiling((decimal)_dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.AverageGrandTotal)), averageGrandTotalTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : Math.Ceiling((decimal)_dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.AverageGrandTotal)), }).ToArray(); RepeaterDetail.DataSource = Data; RepeaterDetail.DataBind(); #region Labelling LabelAverageSalesTahunIni.Text = Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunIni)).ToFormatHarga(); LabelAverageSalesTahunLalu.Text = Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunLalu)).ToFormatHarga(); LabelTotalAverageSales.Text = Pertumbuhan(Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunIni - item.averageGrandTotalTahunLalu)).ToDecimal()); LabelTotalGrowthSalesVolumePanel1.Text = Pertumbuhan(Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunIni - item.TotalTransaksiTahunLalu)).ToDecimal()); LabelSalesVolumeTahunIniPanel1.Text = Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunIni)).ToFormatHargaBulat(); LabelSalesVolumeTahunLaluPanel1.Text = Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunLalu)).ToFormatHargaBulat(); #endregion } else { PanelReportPenjualan.Visible = false; PanelReportQty.Visible = true; var Data = Bulan.Select(item => new { Bulan = new DateTime(DropDownListTahun.SelectedValue.ToInt(), item, 1).ToString("MMMM"), TotalTransaksiTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.TotalTransaksi), TotalTransaksiTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.TotalTransaksi), averageGrandTotalTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : Math.Ceiling(_dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.AverageQty).ToDecimal()), averageGrandTotalTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : Math.Ceiling(_dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.AverageQty).ToDecimal()), }).ToArray(); RepeaterDetailQty.DataSource = Data; RepeaterDetailQty.DataBind(); #region Labelling LabelAverageQtyTahunIni.Text = Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunIni)).ToFormatHargaBulat(); LabelAverageQtyTahunLalu.Text = Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunLalu)).ToFormatHargaBulat(); LabelTotalAvgItems.Text = Pertumbuhan(Math.Ceiling(Data.Average(item => item.averageGrandTotalTahunIni - item.averageGrandTotalTahunLalu)).ToDecimal()); LabelTotalGrowthSalesVolumePanel2.Text = Pertumbuhan(Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunIni - item.TotalTransaksiTahunLalu)).ToDecimal()); LabelSalesVolumeTahunIniPanel2.Text = Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunIni)).ToFormatHargaBulat(); LabelSalesVolumeTahunLaluPanel2.Text = Math.Ceiling(Data.Average(item => item.TotalTransaksiTahunLalu)).ToFormatHargaBulat(); #endregion } #endregion #region DONUT TOP PRODUCT var _dataDetailTransaksiTahunIniDatabase = DetailTransaksiDB .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun && item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete); var TotalQty = _dataDetailTransaksiTahunIniDatabase.Sum(item => item.Quantity); var TotalPenjualan = _dataDetailTransaksiTahunIniDatabase.Sum(item => item.Subtotal); var _data = _dataDetailTransaksiTahunIniDatabase.GroupBy(item => new { Kode = item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, Varian = item.TBKombinasiProduk.TBAtributProduk.Nama ?? string.Empty, Warna = item.TBKombinasiProduk.TBProduk.TBWarna.Nama ?? string.Empty, Kategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama ?? string.Empty, Brand = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama ?? string.Empty }) .Select(item => new { Key = item.Key, Quantity = item.Sum(item2 => item2.Quantity), TotalDiscount = item.Sum(item2 => item2.Discount * item2.Quantity), TotalPenjualan = item.Sum(item2 => item2.Subtotal), PersentaseQty = ((item.Sum(item2 => item2.Quantity)) * 100) / TotalQty, PersentasePenjualan = ((item.Sum(item2 => item2.Subtotal)) * 100) / TotalPenjualan }); //Quantity var _sortedDataQty = _data.OrderByDescending(item => item.Quantity).Take(10).ToArray().ToArray(); //Penjualan var _sortedDataPenjualan = _data.OrderByDescending(item => item.TotalPenjualan).Take(10).ToArray().ToArray(); LiteralChart.Text += "<script> $(function () { var dataChart = ["; foreach (var item in _sortedDataQty) { LiteralChart.Text += "{ 'label': '" + item.Key.Produk + "', 'value': " + item.Quantity + "}, "; } LiteralChart.Text += "]; Morris.Donut({ element: 'graph7', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "colors:['#A9ED9B','#7FC4C1','#C320C4','#6168FF','#EDE18E','#73C489','#74A5FF','#FFC7FE','#00FFF7','#FFCBA0'], "; LiteralChart.Text += "resize:true});}); </script>"; LiteralChart.Text += "<script> $(function () { var dataChart = ["; foreach (var item in _sortedDataPenjualan) { LiteralChart.Text += "{ 'label': '" + item.Key.Produk + "', 'value': " + item.TotalPenjualan + "}, "; } LiteralChart.Text += "]; Morris.Donut({ element: 'graph8', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "colors:['#A9ED9B','#7FC4C1','#C320C4','#6168FF','#EDE18E','#73C489','#74A5FF','#FFC7FE','#00FFF7','#FFCBA0'], "; LiteralChart.Text += "resize:true});}); </script>"; #endregion //#region MARKET SHARE //List<string> ListKota = new List<string>(); //var KotaDB = db.TBAlamats.Select(item => item.Kota).Distinct(); //foreach (var item in KotaDB) //{ // ListKota.Add(item); //} //var DataSalesDB = db.TBTransaksis.Where(item => item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete).GroupBy(item => new // { // item.TBPelanggan.TBAlamats.FirstOrDefault().Kota // }) // .Select(item => new // { // Key = item.Key, // GrandTotal = item.Sum(item2 => item2.GrandTotal), // TotalTransaksi = item.Where(item2 => item2.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete).Count(), // TotalNominalDiscount = item.Sum(item2 => item2.TotalPotonganHargaJualDetail), // JumlahProduk = item.Sum(item2 => item2.JumlahProduk) // }).OrderByDescending(item=> item.GrandTotal).ToArray(); //var DataSales = ListKota.Select(item => new //{ // Kota = item, // JumlahTransaksi = DataSalesDB.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesDB.Where(item2 => item2.Key.Kota == item).Sum(item2 => item2.TotalTransaksi), // GrandTotal = DataSalesDB.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesDB.Where(item2 => item2.Key.Kota == item).Sum(item2 => item2.GrandTotal), // JumlahProduk = DataSalesDB.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesDB.Where(item2 => item2.Key.Kota == item).Sum(item2 => item2.JumlahProduk), // SumJumlahProduk = DataSalesDB.Sum(item2 => item2.JumlahProduk), // SumJumlahTransaksi = DataSalesDB.Sum(item2 => item2.TotalTransaksi), // SumGrandTotal = DataSalesDB.Sum(item2 => item2.GrandTotal) //}).ToArray(); //RepeaterMarketShare.DataSource = DataSales.OrderByDescending(item2 => item2.GrandTotal).ToArray(); //RepeaterMarketShare.DataBind(); //var Data5Kota = DataSales.OrderByDescending(item2 => item2.GrandTotal).Take(5).ToArray(); //List<string> Top5_Kota = new List<string>(); //for (int i = 0; i < Data5Kota.Count(); i++) //{ // Top5_Kota.Add(Data5Kota[i].Kota); //} //LiteralChart.Text += "<script> $(function () { var dataChart = ["; //for (int i = 0; i < Top5_Kota.Count(); i++) //{ // var _transaksiTahunIni = DataSalesDB.FirstOrDefault(item => item.Key.Kota == Top5_Kota[i].ToString()); // //var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.FirstOrDefault(item => item.Key.IDTempat == tempatDatabase[i].IDTempat); // decimal _grandTotal = 0, _grandTotalTahunLalu = 0; // if (_transaksiTahunIni != null) // _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; // //if (_transaksiTahunLalu != null) // // _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; // LiteralChart.Text += "{ 'y': '" + Top5_Kota[i].ToString() + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; //} //LiteralChart.Text += "]; Morris.Bar({ element: 'graph13', behaveLikeLine: true, data: dataChart, xkey: 'y', "; //LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "barColors:['#7FC4C1','#FF625D'],"; //LiteralChart.Text += " parseTime: false,resize:true}); eval(dataChart); }); </script>"; //#region Labelling //LabelTotalJumlahTransaksiHeader.Text = DataSales.Sum(item => item.JumlahTransaksi).ToFormatHargaBulat(); //LabelTotalGrandTotalHeader.Text = DataSales.Sum(item => item.GrandTotal).ToFormatHarga(); //LabelJumlahProdukHeader.Text = DataSales.Sum(item => item.JumlahProduk).ToFormatHargaBulat(); //LabelTotalJumlahTransaksiFooter.Text = DataSales.Sum(item => item.JumlahTransaksi).ToFormatHargaBulat(); //LabelTotalGrandTotalFooter.Text = DataSales.Sum(item => item.GrandTotal).ToFormatHarga(); //LabelJumlahProdukFooter.Text = DataSales.Sum(item => item.JumlahProduk).ToFormatHargaBulat(); //#endregion //#endregion } } }
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; TBPOProduksiBahanBaku poProduksiBahanBaku = db.TBPOProduksiBahanBakus.FirstOrDefault(item => item.IDPOProduksiBahanBaku == Request.QueryString["id"]); LabelJudul.Text = Pengaturan.JenisPOProduksi(poProduksiBahanBaku.EnumJenisProduksi, "BahanBaku"); LabelIDPOProduksiBahanBaku.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; LabelNamaSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Nama : string.Empty; LabelAlamatSupplier.Text = poProduksiBahanBaku.IDSupplier != null ? poProduksiBahanBaku.TBSupplier.Alamat : string.Empty; LabelIDProyeksi.Text = poProduksiBahanBaku.IDProyeksi != null ? poProduksiBahanBaku.IDProyeksi : string.Empty; LabelIDProduksi.Text = poProduksiBahanBaku.IDPOProduksiBahanBaku; LabelTanggalJatuhTempo.Text = poProduksiBahanBaku.TanggalJatuhTempo.ToFormatTanggal(); LabelTanggalPengiriman.Text = poProduksiBahanBaku.TanggalPengiriman.ToFormatTanggal(); LabelPembuat.Text = poProduksiBahanBaku.TBPengguna.NamaLengkap + " / " + poProduksiBahanBaku.Tanggal.ToFormatTanggal(); RepeaterDetail.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuDetails.Select(item => new { item.TBBahanBaku.KodeBahanBaku, BahanBaku = item.TBBahanBaku.Nama, Satuan = item.TBSatuan.Nama, item.HargaPokokKomposisi, item.BiayaTambahan, item.HargaSupplier, item.PotonganHargaSupplier, item.Jumlah, Subtotal = item.TBPOProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.SubtotalHPP : item.SubtotalHargaSupplier }).ToArray(); RepeaterDetail.DataBind(); LabelTotalSubtotal.Text = poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? poProduksiBahanBaku.SubtotalTotalHPP.ToFormatHarga() : poProduksiBahanBaku.SubtotalTotalHargaSupplier.ToFormatHarga(); if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri) { headerHarga.Visible = false; headerPotongan.Visible = false; } else { headerKomposisi.Visible = false; headerBiaya.Visible = false; } RepeaterKomposisi.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.OrderBy(item => item.TBBahanBaku.Nama).ToArray(); RepeaterKomposisi.DataBind(); LabelTotalSubtotalKomposisi.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuKomposisis.Sum(item => item.Subtotal).ToFormatHarga(); RepeaterBiayaTambahan.DataSource = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.OrderBy(item => item.TBJenisBiayaProduksi.Nama).ToArray(); RepeaterBiayaTambahan.DataBind(); LabelTotalSubtotalBiayaTambahan.Text = poProduksiBahanBaku.TBPOProduksiBahanBakuBiayaTambahans.Sum(item => item.Nominal).ToFormatHarga(); LabelBiayaLainLain.Text = poProduksiBahanBaku.BiayaLainLain.ToFormatHarga(); LabelPotongan.Text = poProduksiBahanBaku.PotonganPOProduksiBahanBaku.ToFormatHarga(); LabelJudulTax.Text = "Tax (" + (poProduksiBahanBaku.PersentaseTax * 100).ToFormatHarga() + "%)"; LabelTax.Text = poProduksiBahanBaku.Tax.ToFormatHarga(); LabelGrandtotal.Text = poProduksiBahanBaku.Grandtotal.ToFormatHarga(); LiteralKeterangan.Text = "<b>Keterangan :</b><br/>" + poProduksiBahanBaku.Keterangan; if (poProduksiBahanBaku.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.PurchaseOrder) { komposisi.Visible = false; } } } }
protected void LoadChartKategori(int tahun, int idkategori, int idtempat, int searchby) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (searchby == 1) { PanelReportPenjualan.Visible = true; PanelReportQty.Visible = false; //PanelSalesPerChannelPenjualan.Visible = true; //PanelSalesPerChannelQty.Visible = false; } else { PanelReportPenjualan.Visible = false; PanelReportQty.Visible = true; //PanelSalesPerChannelPenjualan.Visible = false; //PanelSalesPerChannelQty.Visible = true; } LabelHeader.Text = "SALES TREND ANALYSIS " + tahun.ToString().ToUpper(); //Literal LiteralChart = (Literal)this.Page.Master.FindControl("LiteralChart"); LiteralChart.Text = string.Empty; var _dataDetailTransaksi2TahunDataBase = (from itemDetailTransaksi in db.TBTransaksiDetails join itemKombinasiProduk in db.TBKombinasiProduks on itemDetailTransaksi.IDKombinasiProduk equals itemKombinasiProduk.IDKombinasiProduk join itemProduk in db.TBProduks on itemKombinasiProduk.IDProduk equals itemProduk.IDProduk join itemRelasiKategori in db.TBRelasiProdukKategoriProduks on itemProduk.IDProduk equals itemRelasiKategori.IDProduk where itemDetailTransaksi.TBTransaksi.TanggalOperasional.Value.Year >= tahun - 1 select new { Kode = itemKombinasiProduk.KodeKombinasiProduk, IDPelanggan = itemDetailTransaksi.TBTransaksi.IDPelanggan, Produk = itemKombinasiProduk.Nama, Warna = itemProduk.TBWarna.Nama ?? string.Empty, IDKategori = itemRelasiKategori.IDKategoriProduk, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, itemKombinasiProduk), Brand = itemProduk.TBPemilikProduk.Nama ?? string.Empty, JumlahProduk = itemDetailTransaksi.Quantity, HargaPokok = itemDetailTransaksi.HargaBeli, HargaJual = itemDetailTransaksi.HargaJual, PotonganHargaJual = itemDetailTransaksi.Discount, Subtotal = itemDetailTransaksi.Subtotal, TanggalOperasional = itemDetailTransaksi.TBTransaksi.TanggalOperasional, IDTempat = itemDetailTransaksi.TBTransaksi.IDTempat, Nama = itemDetailTransaksi.TBTransaksi.TBTempat.Nama, Kota = itemDetailTransaksi.TBTransaksi.TBPelanggan.TBAlamats.FirstOrDefault().TBWilayah.TBWilayah1.Nama, TBTransaksi = itemDetailTransaksi.TBTransaksi }).ToArray(); var _dataDetailTransaksi2TahunDataBaseDefault = (from itemDetailTransaksi in db.TBTransaksiDetails join itemKombinasiProduk in db.TBKombinasiProduks on itemDetailTransaksi.IDKombinasiProduk equals itemKombinasiProduk.IDKombinasiProduk join itemProduk in db.TBProduks on itemKombinasiProduk.IDProduk equals itemProduk.IDProduk join itemRelasiKategori in db.TBRelasiProdukKategoriProduks on itemProduk.IDProduk equals itemRelasiKategori.IDProduk where itemDetailTransaksi.TBTransaksi.TanggalOperasional.Value.Year >= tahun - 1 select new { Kode = itemKombinasiProduk.KodeKombinasiProduk, IDPelanggan = itemDetailTransaksi.TBTransaksi.IDPelanggan, Produk = itemKombinasiProduk.Nama, Warna = itemProduk.TBWarna.Nama ?? string.Empty, IDKategori = itemRelasiKategori.IDKategoriProduk, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, itemKombinasiProduk), Brand = itemProduk.TBPemilikProduk.Nama ?? string.Empty, JumlahProduk = itemDetailTransaksi.Quantity, HargaPokok = itemDetailTransaksi.HargaBeli, HargaJual = itemDetailTransaksi.HargaJual, PotonganHargaJual = itemDetailTransaksi.Discount, Subtotal = itemDetailTransaksi.Subtotal, TanggalOperasional = itemDetailTransaksi.TBTransaksi.TanggalOperasional, IDTempat = itemDetailTransaksi.TBTransaksi.IDTempat, Nama = itemDetailTransaksi.TBTransaksi.TBTempat.Nama, Kota = itemDetailTransaksi.TBTransaksi.TBPelanggan.TBAlamats.FirstOrDefault().TBWilayah.TBWilayah1.Nama, TBTransaksi = itemDetailTransaksi.TBTransaksi }).ToArray(); if (idkategori != 0) { //Detail transaksi tahun ini, dan setahun yg lalu.. di seluruh tempat _dataDetailTransaksi2TahunDataBase = _dataDetailTransaksi2TahunDataBase.Where(item => item.IDKategori == idkategori).ToArray(); } else { //Detail transaksi tahun ini, dan setahun yg lalu.. di seluruh tempat _dataDetailTransaksi2TahunDataBase = _dataDetailTransaksi2TahunDataBase.ToArray(); } //Group by Month var _dataDetailTransaksiTahunIni = _dataDetailTransaksi2TahunDataBase .Where(item => item.TanggalOperasional.Value.Year == tahun) .GroupBy(item => item.TanggalOperasional.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk) }).ToArray(); var _dataDetailTransaksiTahunIniNoFilter = _dataDetailTransaksi2TahunDataBase .Where(item => item.TanggalOperasional.Value.Year == tahun) .GroupBy(item => item.TanggalOperasional.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk) }).ToArray(); //Group by Month var _dataDetailTransaksiTahunLalu = _dataDetailTransaksi2TahunDataBase .Where(item => item.TanggalOperasional.Value.Year == tahun - 1) .GroupBy(item => item.TanggalOperasional.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk) }).ToArray(); var _dataDetailTransaksiTahunLaluNoFilter = _dataDetailTransaksi2TahunDataBase .Where(item => item.TanggalOperasional.Value.Year == tahun - 1) .GroupBy(item => item.TanggalOperasional.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk) }).ToArray(); #region Line Chart - Trend Analysis Monthly (tahun ini dan tahun lalu) LiteralChart.Text += "<script> $(function () { var dataChart = ["; if (idtempat == 0) { //If searched by Penjualan if (searchby == 1) { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIniNoFilter.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluNoFilter.FirstOrDefault(item => item.Key == i); decimal _grandTotal = 0, _grandTotalTahunLalu = 0; if (_transaksiTahunIni != null) { _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; } if (_transaksiTahunLalu != null) { _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; } } else //searched by Qty { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIniNoFilter.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluNoFilter.FirstOrDefault(item => item.Key == i); decimal _totalQty = 0, _totalQtyTahunLalu = 0; if (_transaksiTahunIni != null) { _totalQty = (decimal)_transaksiTahunIni.TotalQty; } if (_transaksiTahunLalu != null) { _totalQtyTahunLalu = (decimal)_transaksiTahunLalu.TotalQty; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + _totalQtyTahunLalu + ", '" + tahun + "': " + _totalQty + " }, "; } } LiteralChart.Text += "]; Morris.Line({ element: 'graph11', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "lineColors:['#7FC4C1','#FF625D'],"; LiteralChart.Text += " parseTime: false}); eval(dataChart); }); </script>"; } else { //If searched by Penjualan if (searchby == 1) { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIni.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLalu.FirstOrDefault(item => item.Key == i); decimal _grandTotal = 0, _grandTotalTahunLalu = 0; if (_transaksiTahunIni != null) { _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; } if (_transaksiTahunLalu != null) { _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; } } else //searched by Qty { for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataDetailTransaksiTahunIni.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataDetailTransaksiTahunLalu.FirstOrDefault(item => item.Key == i); decimal _totalQty = 0, _totalQtyTahunLalu = 0; if (_transaksiTahunIni != null) { _totalQty = (decimal)_transaksiTahunIni.TotalQty; } if (_transaksiTahunLalu != null) { _totalQtyTahunLalu = (decimal)_transaksiTahunLalu.TotalQty; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + _totalQtyTahunLalu + ", '" + tahun + "': " + _totalQty + " }, "; } } LiteralChart.Text += "]; Morris.Line({ element: 'graph11', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "lineColors:['#7FC4C1','#FF625D'],"; LiteralChart.Text += " parseTime: false}); eval(dataChart); }); </script>"; } #endregion #region RepeaterDetail dari Trend Analysis Monthly PanelDetail.Visible = true; //Group by Month & Year, ini digunakan untuk tampilan repeater detail var _dataDetail2Tahun = _dataDetailTransaksi2TahunDataBase .GroupBy(item => new { item.TanggalOperasional.Value.Month, item.TanggalOperasional.Value.Year }) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Subtotal), TotalQty = item.Sum(item2 => item2.JumlahProduk), TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual) == 0 ? 0 : item.Sum(item2 => item2.PotonganHargaJual * item2.JumlahProduk) }).ToArray(); List <int> Bulan = new List <int>(); for (int i = 1; i <= 12; i++) { Bulan.Add(i); } if (DropDownListFilter.SelectedValue.ToInt() == 1) { var Data = Bulan.Select(item => new { Bulan = new DateTime(DropDownListTahun.SelectedValue.ToInt(), item, 1).ToString("MMMM"), GrandTotalTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.GrandTotal), GrandTotalTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.GrandTotal), TotalNominalDiscountTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.TotalNominalDiscount), TotalNominalDiscountTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.TotalNominalDiscount) }).ToArray(); RepeaterDetail.DataSource = Data; RepeaterDetail.DataBind(); LabelTotalNormalSalesTahunIni.Text = Data.Sum(item => item.GrandTotalTahunIni + item.TotalNominalDiscountTahunIni).ToFormatHarga(); LabelTotalDiscountTahunIni.Text = Data.Sum(item => item.TotalNominalDiscountTahunIni).ToFormatHarga(); LabelGrandTotalTahunIni.Text = Data.Sum(item => item.GrandTotalTahunIni).ToFormatHarga(); LabelTotalNormalSalesTahunLalu.Text = Data.Sum(item => item.GrandTotalTahunLalu + item.TotalNominalDiscountTahunLalu).ToFormatHarga(); LabelTotalDiscountTahunLalu.Text = Data.Sum(item => item.TotalNominalDiscountTahunLalu).ToFormatHarga(); LabelGrandTotalTahunLalu.Text = Data.Sum(item => item.GrandTotalTahunLalu).ToFormatHarga(); LabelTotalSelisih.Text = Pertumbuhan((decimal)Data.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); } else { var Data = Bulan.Select(item => new { Bulan = new DateTime(DropDownListTahun.SelectedValue.ToInt(), item, 1).ToString("MMMM"), GrandTotalTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.TotalQty), GrandTotalTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.TotalQty), TotalNominalDiscountTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.TotalNominalDiscount), TotalNominalDiscountTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.TotalNominalDiscount) }).ToArray(); RepeaterDetailQty.DataSource = Data; RepeaterDetailQty.DataBind(); LabelTotalQtyTahunIni.Text = Data.Sum(item => item.GrandTotalTahunIni).ToFormatHargaBulat(); LabelTotalQtyTahunLalu.Text = Data.Sum(item => item.GrandTotalTahunLalu).ToFormatHargaBulat(); LabelTotalGrowthQty.Text = Pertumbuhan((decimal)Data.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu));; } #endregion //#region Bar Chart - Sales per channel //TBTempat[] tempatDatabase = Database.db.TBTempats.ToArray(); //List<int> datatempat = new List<int>(); //for (int i = 0; i < tempatDatabase.Count(); i++) //{ // datatempat.Add(tempatDatabase[i].IDTempat); //} ////Detail Transaksi tahun ini, Group by Tempat //var _dataDetailTransaksiTahunIniGroupByIDTempat = _dataDetailTransaksi2TahunDataBase // .Where(item => item.TanggalOperasional.Value.Year == tahun) // .GroupBy(item => new // { // item.IDTempat, // item.Nama // }) // .Select(item => new // { // Key = item.Key, // GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), // TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk), // TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual) == 0 ? 0 : item.Sum(item2 => item2.PotonganHargaJual * item2.JumlahProduk) // }).ToArray(); ////Detail Transaksi tahun lalu, Group by Tempat //var _dataDetailTransaksiTahunLaluGroupByIDTempat = _dataDetailTransaksi2TahunDataBase // .Where(item => item.TanggalOperasional.Value.Year == tahun - 1) // .GroupBy(item => new // { // item.IDTempat, // item.Nama // }) // .Select(item => new // { // Key = item.Key, // NormalSales = item.Sum(item2 => item2.HargaJual) * item.Sum(item2 => item2.JumlahProduk), // GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), // TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk), // TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual) == 0 ? 0 : item.Sum(item2 => item2.PotonganHargaJual * item2.JumlahProduk) // }).ToArray(); //LiteralChart.Text += "<script> $(function () { var dataChart = ["; //for (int i = 0; i < datatempat.Count(); i++) //{ // var _transaksiTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.FirstOrDefault(item => item.Key.IDTempat == tempatDatabase[i].IDTempat); // var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.FirstOrDefault(item => item.Key.IDTempat == tempatDatabase[i].IDTempat); // decimal _grandTotal = 0, _grandTotalTahunLalu = 0; // if (_transaksiTahunIni != null) // _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; // if (_transaksiTahunLalu != null) // _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; // LiteralChart.Text += "{ 'y': '" + tempatDatabase[i].Nama + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; //} //LiteralChart.Text += "]; Morris.Bar({ element: 'graph13', behaveLikeLine: true, data: dataChart, xkey: 'y', "; //LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "barColors:['#7FC4C1','#FF625D'],"; //LiteralChart.Text += " parseTime: false,resize:true}); eval(dataChart); }); </script>"; //if (DropDownListFilter.SelectedValue) == 1) //{ // var DataSalesPerChannel = datatempat.Select(item => new // { // NamaTempat = tempatDatabase.FirstOrDefault(item2 => item2.IDTempat == item).Nama, // GrandTotalTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.GrandTotal), // GrandTotalTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.GrandTotal), // TotalNominalDiscountTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount), // TotalNominalDiscountTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount) // }).ToArray(); // RepeaterSalesPerChannel.DataSource = DataSalesPerChannel; // RepeaterSalesPerChannel.DataBind(); // LabelTotalNormalSalesTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu + item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelTotalDiscountTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelGrandTotalTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu).ToFormatHarga(); // LabelTotalNormalSalesTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni + item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelTotalDiscountTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelGrandTotalTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni).ToFormatHarga(); // LabelTotalSelisihPerChannel.Text = Pertumbuhan((decimal)DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); //} //else //{ // var DataSalesPerChannel = datatempat.Select(item => new // { // NamaTempat = tempatDatabase.FirstOrDefault(item2 => item2.IDTempat == item).Nama, // GrandTotalTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalQty), // GrandTotalTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalQty), // TotalNominalDiscountTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount), // TotalNominalDiscountTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount) // }).ToArray(); // RepeaterSalesPerChannelQty.DataSource = DataSalesPerChannel; // RepeaterSalesPerChannelQty.DataBind(); // LabelTotalQtySalesPerChannelTahunLalu.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu).ToFormatHargaBulat(); // LabelTotalQtySalesPerChannelTahunIni.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni).ToFormatHargaBulat(); // LabelTotalGrowthQtySalesPerChannel.Text = Pertumbuhan((decimal)DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); //} //#endregion #region Sales per kota List <string> ListKota = new List <string>(); var KotaDB = db.TBAlamats.Select(item => item.TBWilayah.TBWilayah1.Nama).Distinct(); if (KotaDB != null) { foreach (var item in KotaDB) { ListKota.Add(item); } var DataSalesPerKota = _dataDetailTransaksi2TahunDataBase .Where(item => item.TanggalOperasional.Value.Year == tahun && item.IDPelanggan != 1 && item.TBTransaksi.TBPelanggan.TBAlamats.FirstOrDefault().TBWilayah != null) .GroupBy(item => new { Kota = item.Kota, Provinsi = item.TBTransaksi.TBPelanggan.TBAlamats.FirstOrDefault().TBWilayah.TBWilayah1.TBWilayah1.Nama, }) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.HargaJual * item2.JumlahProduk), TotalTransaksi = item.Where(item2 => item2.TBTransaksi.IDStatusTransaksi == 5).Count(), TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual), JumlahProduk = item.Sum(item2 => item2.JumlahProduk) }).OrderByDescending(item => item.GrandTotal).ToArray(); var DataSalesPerKotaSum = ListKota.Select(item => new { Kota = item, Provinsi = DataSalesPerKota.Where(item2 => item2.Key.Kota == item).Count() == 0 ? "" : DataSalesPerKota.FirstOrDefault(item2 => item2.Key.Kota == item).Key.Provinsi, JumlahTransaksi = DataSalesPerKota.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesPerKota.FirstOrDefault(item2 => item2.Key.Kota == item).TotalTransaksi, GrandTotal = DataSalesPerKota.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesPerKota.FirstOrDefault(item2 => item2.Key.Kota == item).GrandTotal, JumlahProduk = DataSalesPerKota.Where(item2 => item2.Key.Kota == item).Count() == 0 ? 0 : DataSalesPerKota.FirstOrDefault(item2 => item2.Key.Kota == item).JumlahProduk, SumJumlahProduk = DataSalesPerKota.Sum(item2 => item2.JumlahProduk), SumJumlahTransaksi = DataSalesPerKota.Sum(item2 => item2.TotalTransaksi), SumGrandTotal = DataSalesPerKota.Sum(item2 => item2.GrandTotal) }).ToArray(); RepeaterMarketShare.DataSource = DataSalesPerKotaSum.Where(item2 => item2.GrandTotal != 0) .OrderByDescending(item2 => item2.GrandTotal).ToArray(); RepeaterMarketShare.DataBind(); #region Labelling LabelTotalJumlahTransaksiHeader.Text = DataSalesPerKotaSum.Sum(item => item.JumlahTransaksi).ToFormatHargaBulat(); LabelTotalGrandTotalHeader.Text = DataSalesPerKotaSum.Sum(item => item.GrandTotal).ToFormatHarga(); LabelJumlahProdukHeader.Text = DataSalesPerKotaSum.Sum(item => item.JumlahProduk).ToFormatHarga(); LabelTotalJumlahTransaksiFooter.Text = DataSalesPerKotaSum.Sum(item => item.JumlahTransaksi).ToFormatHargaBulat(); LabelTotalGrandTotalFooter.Text = DataSalesPerKotaSum.Sum(item => item.GrandTotal).ToFormatHarga(); LabelJumlahProdukFooter.Text = DataSalesPerKotaSum.Sum(item => item.JumlahProduk).ToFormatHarga(); #endregion var SettingGrafik = DataSalesPerKotaSum.Where(item2 => item2.GrandTotal != 0) .OrderByDescending(item2 => item2.GrandTotal) .Take(20); int Height = SettingGrafik.Count() * 25; container.Attributes.Add("style", "width: auto; height: " + (Height > 600 ? Height : 600) + "px; margin: 0 auto;"); string Judul = ""; string SubJudul = ""; string JudulX = "Sales Per Kota"; string DataX = ""; string JudulY = "Sales"; string DataY = ""; string Tooltip = ""; if (DropDownListFilter.SelectedItem.Value == "1") { foreach (var item in SettingGrafik) { DataX += "'" + item.Kota + "',"; DataY += item.GrandTotal + ","; } } else { foreach (var item in SettingGrafik) { DataX += "'" + item.Kota + "',"; DataY += item.JumlahProduk + ","; } } LiteralChart.Text += "<script type=\"text/javascript\">"; LiteralChart.Text += "$(function () { $('#container').highcharts({"; LiteralChart.Text += " chart: { type: 'bar' },"; LiteralChart.Text += " title: { text: '" + Judul + "' },"; LiteralChart.Text += " subtitle: { text: '" + SubJudul + "' },"; LiteralChart.Text += " xAxis: { categories: [" + DataX + "] },"; LiteralChart.Text += " yAxis: { min: 0, title: { text: '" + JudulY + "' } },"; LiteralChart.Text += " tooltip: { valueSuffix: '" + Tooltip + "' },"; LiteralChart.Text += " legend: { reversed: true },"; LiteralChart.Text += " plotOptions: { series: { stacking: 'normal' } },"; LiteralChart.Text += " credits: { enabled: false },"; LiteralChart.Text += " exporting: { enabled: false },"; LiteralChart.Text += " series: ["; LiteralChart.Text += " {"; LiteralChart.Text += " name: '" + JudulX + "',"; LiteralChart.Text += " data: [" + DataY + "]"; LiteralChart.Text += " },"; LiteralChart.Text += " ]"; LiteralChart.Text += " }); });"; LiteralChart.Text += "</script>"; #endregion } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProdukPenagihan poProduksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == Request.QueryString["id"]); TextBoxIDPOProduksiProdukPenagihan.Text = poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan; TextBoxPegawai.Text = poProduksiProdukPenagihan.TBPengguna.NamaLengkap; TextBoxTanggal.Text = Pengaturan.FormatTanggalRingkas(poProduksiProdukPenagihan.Tanggal); TextBoxVendor.Text = poProduksiProdukPenagihan.TBVendor.Nama; TextBoxKeterangan.Text = poProduksiProdukPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiProdukPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukReturs.Select(item => new { item.IDPOProduksiProdukRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiProdukPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => item.TBPOProduksiProduk).Distinct().Where(item => item.IDPOProduksiProdukPenagihan == poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan).Select(item => new { item.IDPOProduksiProduk, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiProdukPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiProdukPenagihan.TotalBayar.ToFormatHarga(); TextBoxTotalSisaTagihan.Text = (poProduksiProdukPenagihan.TotalTagihan - poProduksiProdukPenagihan.TotalBayar).ToFormatHarga(); TextBoxTanggalBayar.Text = DateTime.Now.ToString("d MMMM yyyy"); DropDownListJenisPembayaran.DataSource = db.TBJenisPembayarans.Where(item => item.IDJenisPembayaran != 2).Select(item => new { item.IDJenisPembayaran, item.Nama }); DropDownListJenisPembayaran.DataTextField = "Nama"; DropDownListJenisPembayaran.DataValueField = "IDJenisPembayaran"; DropDownListJenisPembayaran.DataBind(); //ButtonSimpan.OnClientClick = "window.open('Cetak.aspx?id=" + Request.QueryString["id"] + "', 'Cetak');"; } } }
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; } } }
protected void LoadChartProduk(int tahun, int idbahanbaku, int idtempat) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { LabelHeader.Text = "RAW MATERIAL TREND ANALYSIS " + tahun.ToString().ToUpper(); //Literal LiteralChart = (Literal)this.Page.Master.FindControl("LiteralChart"); LiteralChart.Text = string.Empty; TBHargaSupplier[] _dataHargaSupplierDataBase; TBHargaSupplier[] _dataHargaSupplierDataBaseDefault; if (idbahanbaku != 0) { //Data Harga Bahan Baku 2 tahun, sesuai dropdown _dataHargaSupplierDataBase = db.TBHargaSuppliers .Where(item => item.Tanggal.Value.Year >= tahun - 1 && item.TBStokBahanBaku.TBBahanBaku.IDBahanBaku == idbahanbaku).AsEnumerable().ToArray(); } else { //Data Harga Bahan Baku 2 tahun, sesuai dropdown _dataHargaSupplierDataBase = db.TBHargaSuppliers .Where(item => item.Tanggal.Value.Year >= tahun - 1).AsEnumerable().ToArray(); } //Detail transaksi tahun ini & tahun - 1, FILTERING tempat if (idtempat != 0) { _dataHargaSupplierDataBaseDefault = _dataHargaSupplierDataBase; //Digunakan untuk sales per channel _dataHargaSupplierDataBase = _dataHargaSupplierDataBase.Where(item => item.IDSupplier == idtempat).ToArray(); } else { _dataHargaSupplierDataBaseDefault = _dataHargaSupplierDataBase; //Digunakan untuk sales per channel } //Group by Month var _dataHargaSupplierTahunIni = _dataHargaSupplierDataBase .Where(item => item.Tanggal.Value.Year == tahun) .GroupBy(item => item.Tanggal.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Harga) == 0 ? 0 : item.Sum(item2 => item2.Harga) / _dataHargaSupplierDataBase.Where(item2 => item2.Tanggal.Value.Month == item.Key).Count() }).ToArray(); //Group by Month var _dataHargaSupplierTahunLalu = _dataHargaSupplierDataBase .Where(item => item.Tanggal.Value.Year == tahun - 1) .GroupBy(item => item.Tanggal.Value.Month) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Harga) == 0 ? 0 : item.Sum(item2 => item2.Harga) / _dataHargaSupplierDataBase.Where(item2 => item2.Tanggal.Value.Month == item.Key).Count() }).ToArray(); #region Line Chart - Trend Analysis Monthly (tahun ini dan tahun lalu) LiteralChart.Text += "<script> $(function () { var dataChart = ["; //If searched by Penjualan for (int i = 1; i <= 12; i++) { var _transaksiTahunIni = _dataHargaSupplierTahunIni.FirstOrDefault(item => item.Key == i); var _transaksiTahunLalu = _dataHargaSupplierTahunLalu.FirstOrDefault(item => item.Key == i); decimal _grandTotal = 0, _grandTotalTahunLalu = 0; if (_transaksiTahunIni != null) { _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; } if (_transaksiTahunLalu != null) { _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; } LiteralChart.Text += "{ 'y': '" + new DateTime(DropDownListTahun.SelectedValue.ToInt(), i, 1).ToString("MMM") + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; } LiteralChart.Text += "]; Morris.Line({ element: 'graph11', behaveLikeLine: true, data: dataChart, xkey: 'y', "; LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; LiteralChart.Text += "lineColors:['#7FC4C1','#FF625D'],"; LiteralChart.Text += " parseTime: false}); eval(dataChart); }); </script>"; #endregion #region RepeaterDetail dari Trend Analysis Monthly PanelDetail.Visible = true; //Group by Month & Year, ini digunakan untuk tampilan repeater detail var _dataDetail2Tahun = _dataHargaSupplierDataBase .GroupBy(item => new { item.Tanggal.Value.Month, item.Tanggal.Value.Year }) .Select(item => new { Key = item.Key, GrandTotal = item.Sum(item2 => item2.Harga) == 0 ? 0 : item.Sum(item2 => item2.Harga) / _dataHargaSupplierDataBase.Where(item2 => item2.Tanggal.Value.Month == item.Key.Month).Count() }).ToArray(); List <int> Bulan = new List <int>(); for (int i = 1; i <= 12; i++) { Bulan.Add(i); } var Data = Bulan.Select(item => new { Bulan = new DateTime(DropDownListTahun.SelectedValue.ToInt(), item, 1).ToString("MMMM"), GrandTotalTahunLalu = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun - 1).Sum(item2 => item2.GrandTotal), GrandTotalTahunIni = _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Count() == 0 ? 0 : _dataDetail2Tahun.Where(item2 => item2.Key.Month == item && item2.Key.Year == tahun).Sum(item2 => item2.GrandTotal), }).ToArray(); RepeaterDetail.DataSource = Data; RepeaterDetail.DataBind(); LabelGrandTotalTahunIni.Text = (Data.Sum(item => item.GrandTotalTahunIni) / 12).ToFormatHarga(); LabelGrandTotalTahunLalu.Text = (Data.Sum(item => item.GrandTotalTahunLalu) / 12).ToFormatHarga(); LabelTotalSelisih.Text = Pertumbuhan((decimal)Data.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); #endregion //#region Bar Chart - Sales per channel //TBTempat[] tempatDatabase = Database.db.TBTempats.ToArray(); //List<int> datatempat = new List<int>(); //for (int i = 1; i <= tempatDatabase.Count(); i++) //{ // datatempat.Add(i); //} ////Detail Transaksi tahun ini, Group by Tempat //var _dataDetailTransaksiTahunIniGroupByIDTempat = _dataHargaSupplierDataBaseDefault // .Where(item => item.Tanggal.Value.Year == tahun) // .GroupBy(item => new // { // item.TBTransaksi.TBTempat.IDTempat, // item.TBTransaksi.TBTempat.Nama // }) // .Select(item => new // { // Key = item.Key, // GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), // TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk), // TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual) == 0 ? 0 : item.Sum(item2 => item2.PotonganHargaJual * item2.JumlahProduk) // }).ToArray(); ////Detail Transaksi tahun lalu, Group by Tempat //var _dataDetailTransaksiTahunLaluGroupByIDTempat = _dataHargaSupplierDataBaseDefault // .Where(item => item.TBTransaksi.TanggalTransaksi.Value.Year == tahun - 1) // .GroupBy(item => new // { // item.TBTransaksi.TBTempat.IDTempat, // item.TBTransaksi.TBTempat.Nama // }) // .Select(item => new // { // Key = item.Key, // NormalSales = item.Sum(item2 => item2.HargaJual) * item.Sum(item2 => item2.JumlahProduk), // GrandTotal = item.Sum(item2 => item2.Subtotal) == 0 ? 0 : item.Sum(item2 => item2.Subtotal), // TotalQty = item.Sum(item2 => item2.JumlahProduk) == 0 ? 0 : item.Sum(item2 => item2.JumlahProduk), // TotalNominalDiscount = item.Sum(item2 => item2.PotonganHargaJual) == 0 ? 0 : item.Sum(item2 => item2.PotonganHargaJual * item2.JumlahProduk) // }).ToArray(); //LiteralChart.Text += "<script> $(function () { var dataChart = ["; //for (int i = 0; i < datatempat.Count(); i++) //{ // var _transaksiTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.FirstOrDefault(item => item.Key.IDTempat == tempatDatabase[i].IDTempat); // var _transaksiTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.FirstOrDefault(item => item.Key.IDTempat == tempatDatabase[i].IDTempat); // decimal _grandTotal = 0, _grandTotalTahunLalu = 0; // if (_transaksiTahunIni != null) // _grandTotal = (decimal)_transaksiTahunIni.GrandTotal; // if (_transaksiTahunLalu != null) // _grandTotalTahunLalu = (decimal)_transaksiTahunLalu.GrandTotal; // LiteralChart.Text += "{ 'y': '" + tempatDatabase[i].Nama + "', '" + (tahun - 1) + "': " + _grandTotalTahunLalu + ", '" + tahun + "': " + _grandTotal + " }, "; //} //LiteralChart.Text += "]; Morris.Bar({ element: 'graph13', behaveLikeLine: true, data: dataChart, xkey: 'y', "; //LiteralChart.Text += "ykeys: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "labels: ['" + (DropDownListTahun.SelectedValue.ToInt() - 1) + "','" + DropDownListTahun.SelectedValue.ToInt() + "'],"; //LiteralChart.Text += "barColors:['#7FC4C1','#FF625D'],"; //LiteralChart.Text += " parseTime: false,resize:true}); eval(dataChart); }); </script>"; //if (DropDownListFilter.SelectedValue) == 1) //{ // var DataSalesPerChannel = datatempat.Select(item => new // { // NamaTempat = tempatDatabase.FirstOrDefault(item2 => item2.IDTempat == item).Nama, // GrandTotalTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.GrandTotal), // GrandTotalTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.GrandTotal), // TotalNominalDiscountTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount), // TotalNominalDiscountTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount) // }).ToArray(); // RepeaterSalesPerChannel.DataSource = DataSalesPerChannel; // RepeaterSalesPerChannel.DataBind(); // LabelTotalNormalSalesTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu + item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelTotalDiscountTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelGrandTotalTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu).ToFormatHarga(); // LabelTotalNormalSalesTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni + item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelTotalDiscountTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelGrandTotalTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni).ToFormatHarga(); // LabelTotalSelisihPerChannel.Text = Pertumbuhan((decimal)DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); //} //else //{ // var DataSalesPerChannel = datatempat.Select(item => new // { // NamaTempat = tempatDatabase.FirstOrDefault(item2 => item2.IDTempat == item).Nama, // GrandTotalTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalQty), // GrandTotalTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalQty), // TotalNominalDiscountTahunLalu = _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunLaluGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount), // TotalNominalDiscountTahunIni = _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Count() == 0 ? 0 : _dataDetailTransaksiTahunIniGroupByIDTempat.Where(item2 => item2.Key.IDTempat == item).Sum(item2 => item2.TotalNominalDiscount) // }).ToArray(); // RepeaterSalesPerChannel.DataSource = DataSalesPerChannel; // RepeaterSalesPerChannel.DataBind(); // LabelTotalNormalSalesTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu + item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelTotalDiscountTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunLalu).ToFormatHarga(); // LabelGrandTotalTahunLaluPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunLalu).ToFormatHarga(); // LabelTotalNormalSalesTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni + item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelTotalDiscountTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.TotalNominalDiscountTahunIni).ToFormatHarga(); // LabelGrandTotalTahunIniPerChannel.Text = DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni).ToFormatHarga(); // LabelTotalSelisihPerChannel.Text = Pertumbuhan((decimal)DataSalesPerChannel.Sum(item => item.GrandTotalTahunIni - item.GrandTotalTahunLalu)); //} //#endregion //#region Donut Chart - Annual Sales //LiteralChart.Text += "<script> $(function () { var dataChart = ["; //if (DropDownListFilter.SelectedValue.ToInt() == 1) //{ // for (int i = tahun - 1; i <= tahun; i++) // { // if (i == tahun - 1) // LiteralChart.Text += "{ 'label': '" + 2014 + "', 'value': " + _dataDetailTransaksiTahunLaluNoFilter.Sum(item => item.GrandTotal) + "}, "; // else // LiteralChart.Text += "{ 'label': '" + 2015 + "', 'value': " + _dataDetailTransaksiTahunIniNoFilter.Sum(item => item.GrandTotal) + "}, "; // } //} //else //{ // for (int i = tahun - 1; i <= tahun; i++) // { // if (i == tahun - 1) // LiteralChart.Text += "{ 'label': '" + 2014 + "', 'value': " + _dataDetailTransaksiTahunLaluNoFilter.Sum(item => item.TotalQty) + "}, "; // else // LiteralChart.Text += "{ 'label': '" + 2015 + "', 'value': " + _dataDetailTransaksiTahunIniNoFilter.Sum(item => item.TotalQty) + "}, "; // } //} //LiteralChart.Text += "]; Morris.Donut({ element: 'graph12', behaveLikeLine: true, data: dataChart, xkey: 'y', "; //LiteralChart.Text += "colors:['#7FC4C1','#FF625D'], "; //LiteralChart.Text += "resize:true});}); </script>"; //#endregion } }