private void LoadData(DataClassesDatabaseDataContext db, TBKombinasiProduk kombinasiProduk) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; RepeaterKomposisi.DataSource = kombinasiProduk.TBKomposisiKombinasiProduks.Select(item => new { item.IDBahanBaku, item.TBBahanBaku.Nama, Jumlah = item.Jumlah.ToFormatHarga(), Satuan = item.TBBahanBaku.TBSatuan.Nama, HargaBeli = item.TBBahanBaku.TBStokBahanBakus.FirstOrDefault(stok => stok.IDBahanBaku == item.IDBahanBaku && stok.IDTempat == pengguna.IDTempat).HargaBeli *item.Jumlah }).ToArray(); RepeaterKomposisi.DataBind(); RepeaterBiayaProduksi.DataSource = kombinasiProduk.TBRelasiJenisBiayaProduksiKombinasiProduks.Select(item => new { item.IDJenisBiayaProduksi, NamaJenisBiayaProduksi = item.TBJenisBiayaProduksi.Nama, Jenis = item.EnumBiayaProduksi == (int)PilihanBiayaProduksi.Persen ? (item.Persentase * 100).ToFormatHarga() + "% dari Komposisi Bahan Baku" : "Nominal", BiayaProduksi = item.EnumBiayaProduksi == (int)PilihanBiayaProduksi.Persen ? (item.Persentase * StokProduk_Class.HitungHargaPokokKomposisi(db, pengguna.IDTempat, item.TBKombinasiProduk)).ToFormatHarga() : item.Nominal.ToFormatHarga() }).ToArray(); RepeaterBiayaProduksi.DataBind(); decimal hargaKomposisi = StokProduk_Class.HitungHargaPokokKomposisi(db, pengguna.IDTempat, kombinasiProduk); LabelTotalHargaBesarKomposisi.Text = hargaKomposisi.ToFormatHarga(); decimal hargaBiayaProduksi = StokProduk_Class.HitungBiayaProduksi(db, pengguna.IDTempat, kombinasiProduk); LabelTotalHargaBesarBiayaProduksi.Text = hargaBiayaProduksi.ToFormatHarga(); LabelHitunganKomposisi.Text = LabelTotalHargaBesarKomposisi.Text; LabelHitunganBiayaProduksi.Text = hargaBiayaProduksi.ToFormatHarga(); LabelHargaPokokProduksi.Text = (hargaKomposisi + hargaBiayaProduksi).ToFormatHarga(); }
private void LoadDataKombinasiProduk(DataClassesDatabaseDataContext db) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); List <dynamic> ListKombinasiProduk = new List <dynamic>(); foreach (var item in KombinasiProduk_Class.Data(db, HiddenFieldIDProduk.Value.ToInt())) { var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, item.IDKombinasiProduk); ListKombinasiProduk.Add(new { IDKombinasiProduk = item.IDKombinasiProduk, Atribut = item.TBAtributProduk.Nama, KodeKombinasiProduk = item.KodeKombinasiProduk, Berat = item.Berat.ToFormatHarga(), HargaBeli = StokProduk != null ? StokProduk.HargaBeli.ToFormatHarga() : "0", HargaJual = StokProduk != null ? StokProduk.HargaJual.ToFormatHarga() : "0", Jumlah = StokProduk != null ? StokProduk.Jumlah.ToFormatHargaBulat() : "0", Status = StokProduk != null ? StokProduk.Status : false, IDStokProduk = StokProduk != null ? StokProduk.IDStokProduk : 0, }); } RepeaterKombinasiProduk.DataSource = ListKombinasiProduk; RepeaterKombinasiProduk.DataBind(); }
protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Batal") { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var TransferProduk = db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == e.CommandArgument.ToString()); if (TransferProduk != null) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); foreach (var item in TransferProduk.TBTransferProdukDetails.ToArray()) { StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, item.IDKombinasiProduk, item.Jumlah, item.HargaBeli, item.HargaJual, EnumJenisPerpindahanStok.TransferBatal, "Transfer Batal #" + TransferProduk.IDTransferProduk); } TransferProduk.EnumJenisTransfer = (int)PilihanJenisTransfer.TransferBatal; db.SubmitChanges(); } } LoadData(); } else if (e.CommandName == "TransferUlang") { Response.Redirect("Pengaturan.aspx?id=" + e.CommandArgument); } }
protected void RepeaterTransferKombinasiProduk_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Hapus") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); var TransferProdukDetail = db.TBTransferProdukDetails.FirstOrDefault(item => item.IDTransferProdukDetail == e.CommandArgument.ToInt()); if (TransferProdukDetail != null) { StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, TransferProdukDetail.IDKombinasiProduk, TransferProdukDetail.Jumlah, TransferProdukDetail.HargaBeli, TransferProdukDetail.HargaJual, EnumJenisPerpindahanStok.TransferBatal, "Transfer #" + TransferProdukDetail.IDTransferProduk); db.TBTransferProdukDetails.DeleteOnSubmit(TransferProdukDetail); db.SubmitChanges(); //UPDATE DATA TRANSFER PRODUK var TransferProduk = db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == LabelIDTransferProduk.Text); TransferProduk.TanggalUpdate = DateTime.Now; TransferProduk.TotalJumlah = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah); TransferProduk.GrandTotalHargaBeli = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli); TransferProduk.GrandTotalHargaJual = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual); db.SubmitChanges(); LoadDataTransferProduk(); } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPrintBarcode PrintBarcode = db.TBPrintBarcodes.FirstOrDefault(); if (PrintBarcode != null) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); var StokProduk = StokProduk_Class.Cari(PrintBarcode.IDStokProduk); //UBAH ANGKANYA setelah <= dan setelah : (SESUAI DENGAN JUMLAH BARIS YANG DIINGINKAN) //5 BARIS = 10 Stok/Barcode int jumlahBaris = Math.Ceiling(PrintBarcode.Jumlah.ToDecimal() / 2).ToInt() <= 5 ? Math.Ceiling(PrintBarcode.Jumlah.ToDecimal() / 2).ToInt() : 5; dynamic[] ListBarcode = new dynamic[jumlahBaris]; List <dynamic> ListBody = new List <dynamic>(); //JUMLAH BARCODE KE KANAN for (int i = 0; i < 2; i++) { ListBody.Add(new { Nama = StokProduk.TBKombinasiProduk.TBProduk.Nama, Kode = StokProduk.TBKombinasiProduk.KodeKombinasiProduk, Varian = !string.IsNullOrWhiteSpace(StokProduk.TBKombinasiProduk.TBAtributProduk.Nama) ? "(" + StokProduk.TBKombinasiProduk.TBAtributProduk.Nama + ")" : " ", Warna = StokProduk.TBKombinasiProduk.TBProduk.TBWarna.Nama, Kategori = StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "", Harga = StokProduk.HargaJual.ToFormatHarga() }); } RepeaterBarcodeBarcode.DataSource = ListBarcode.Select(item => new { Body = ListBody }); RepeaterBarcodeBarcode.DataBind(); //JANGAN DI UBAH ANGKANYA PrintBarcode.Jumlah -= (jumlahBaris * 2); if (PrintBarcode.Jumlah <= 0) { db.TBPrintBarcodes.DeleteOnSubmit(PrintBarcode); } db.SubmitChanges(); } else { Response.Redirect("/WITWarehouse/Default.aspx"); } } TimerBarcode.Enabled = true; } }
protected void RepeaterKombinasiProduk_ItemCommand(object source, RepeaterCommandEventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { if (e.CommandName == "Hapus") { KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); if (KombinasiProduk_Class.Hapus(db, e.CommandArgument.ToInt())) { db.SubmitChanges(); LoadDataKombinasiProduk(db); } } if (e.CommandName == "UbahStatus") { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); if (StokProduk_Class.UbahStatus((e.CommandArgument.ToString()).ToInt())) { LoadDataKombinasiProduk(db); } } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { bool StatusPerubahan = false; foreach (RepeaterItem item in RepeaterLaporan.Items) { Repeater RepeaterKombinasiProduk = (Repeater)item.FindControl("RepeaterKombinasiProduk"); foreach (RepeaterItem item2 in RepeaterKombinasiProduk.Items) { Label LabelIDStokProduk = (Label)item2.FindControl("LabelIDStokProduk"); TextBox TextBoxStokTerbaru = (TextBox)item2.FindControl("TextBoxStokTerbaru"); if (!string.IsNullOrWhiteSpace(TextBoxStokTerbaru.Text)) { StatusPerubahan = true; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); var StokProduk = StokProduk_Class.Cari(LabelIDStokProduk.Text.ToInt()); if (Request.QueryString["do"] == "opname") { StokProduk_Class.Penyesuaian(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), ""); } else if (Request.QueryString["do"] == "waste") { StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.PembuanganBarangRusak, ""); } else if (Request.QueryString["do"] == "restock") { StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.RestockBarang, ""); } else if (Request.QueryString["do"] == "return") { StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.ReturKeTempatProduksi, ""); } else { Response.Redirect("/WITWarehouse/Produk.aspx"); } } TextBoxStokTerbaru.Text = string.Empty; } } if (StatusPerubahan) { db.SubmitChanges(); } } LoadData(); }
protected void RepeaterPOProduksiDetail_ItemCommand(object source, RepeaterCommandEventArgs e) { MultiViewPerformance.SetActiveView(ViewPOProduksiDetail); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiBProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == e.CommandArgument.ToString()); TextBoxIDProyeksi.Text = poProduksiBProduk.IDProyeksi != null ? poProduksiBProduk.IDProyeksi : "-Tidak Ada Proyeksi-"; TextBoxIDPOProduksiBahanBaku.Text = poProduksiBProduk.IDPOProduksiProduk; TextBoxStatusHPP.Text = Pengaturan.StatusJenisHPP(poProduksiBProduk.EnumJenisHPP.Value); TextBoxPegawaiPIC.Text = poProduksiBProduk.TBPengguna1.NamaLengkap; TextBoxTanggalJatuhTempo.Text = poProduksiBProduk.TanggalJatuhTempo != null?poProduksiBProduk.TanggalJatuhTempo.ToFormatTanggal() : string.Empty; TextBoxTanggalPengiriman.Text = poProduksiBProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxTanggalJatuhTempo.Text = poProduksiBProduk.TanggalJatuhTempo != null?poProduksiBProduk.TanggalJatuhTempo.ToFormatTanggal() : string.Empty; TextBoxTanggalPengiriman.Text = poProduksiBProduk.TanggalPengiriman.ToFormatTanggal(); TextBoxPegawai.Text = poProduksiBProduk.TBPengguna.NamaLengkap + " / " + poProduksiBProduk.Tanggal.ToFormatTanggal(); if (poProduksiBProduk.EnumJenisProduksi != (int)PilihanEnumJenisProduksi.ProduksiSendiri) { TextBoxVendorTempat.Text = poProduksiBProduk.TBVendor.Nama; TextBoxEmail.Text = poProduksiBProduk.TBVendor.Email; TextBoxAlamat.Text = poProduksiBProduk.TBVendor.Alamat; TextBoxTelepon1.Text = poProduksiBProduk.TBVendor.Telepon1; TextBoxTelepon2.Text = poProduksiBProduk.TBVendor.Telepon2; } else { TextBoxVendorTempat.Text = poProduksiBProduk.TBTempat.Nama; TextBoxEmail.Text = poProduksiBProduk.TBTempat.Email; TextBoxAlamat.Text = poProduksiBProduk.TBTempat.Alamat; TextBoxTelepon1.Text = poProduksiBProduk.TBTempat.Telepon1; TextBoxTelepon2.Text = poProduksiBProduk.TBTempat.Telepon2; } DetailProduk.Visible = true; RepeaterPOProduksiProdukDetail.DataSource = poProduksiBProduk.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), Harga = poProduksiBProduk.EnumJenisProduksi == (int)PilihanEnumJenisProduksi.ProduksiSendiri ? item.TotalHPP : item.TotalHargaVendor, item.Jumlah, Datang = item.Jumlah - item.Sisa, item.Sisa }); RepeaterPOProduksiProdukDetail.DataBind(); ButtonKembali.Visible = false; ButtonKembaliPOProduksi.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["PenggunaLogin"] == null) { Response.Redirect("/WITWarehouse/Default.aspx"); return; } using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, Request.QueryString["id"].ToInt()); if (StokProduk != null) { PanelKeterangan.Visible = Request.QueryString["jumlah"].ToInt() > 0; if (PanelKeterangan.Visible) { var jumlah = Request.QueryString["jumlah"].ToDecimal(); var jumlahPrint = Math.Ceiling(jumlah / 2); var tidakTerpakai = (jumlahPrint * 2) - jumlah; LabelJumlahPrint.Text = jumlahPrint.ToFormatHargaBulat(); LabelTidakTerpakai.Text = tidakTerpakai.ToFormatHargaBulat(); } List <dynamic> ListBarcode = new List <dynamic>(); for (int i = 0; i < 2; i++) { ListBarcode.Add(new { Nama = StokProduk.TBKombinasiProduk.TBProduk.Nama, Kode = StokProduk.TBKombinasiProduk.KodeKombinasiProduk, Varian = !string.IsNullOrWhiteSpace(StokProduk.TBKombinasiProduk.TBAtributProduk.Nama) ? "(" + StokProduk.TBKombinasiProduk.TBAtributProduk.Nama + ")" : " ", Warna = StokProduk.TBKombinasiProduk.TBProduk.TBWarna.Nama, Kategori = StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "", Harga = StokProduk.HargaJual.ToFormatHarga() }); } RepeaterBarcode2.DataSource = ListBarcode; RepeaterBarcode2.DataBind(); } else { Response.Redirect("/WITWarehouse/Default.aspx"); } } } }
protected void ButtonPerbaharuiSemuaHargaPokokProduksiProduk_Click(object sender, EventArgs e) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { StokProduk_Class.PerbaharuiSemuaHargaBeli(db, pengguna.IDTempat); db.SubmitChanges(); LoadData(db); } }
protected void RepeaterKombinasiProduk_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "UbahHargaPokokProduksi") { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { StokProduk_Class.PerbaharuiHargaBeli(db, pengguna.IDTempat, e.CommandArgument.ToInt()); db.SubmitChanges(); LoadData(db); } } }
protected void ButtonTerima_Click(object sender, EventArgs e) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TransferProduk_Class TransferProduk_Class = new TransferProduk_Class(); var TransferProduk = TransferProduk_Class.Cari(db, Request.QueryString["id"]); if (TransferProduk != null && TransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferProses) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); foreach (var item in TransferProduk.TBTransferProdukDetails.ToArray()) { var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, item.IDKombinasiProduk); if (StokProduk == null) { StokProduk = StokProduk_Class.MembuatStok(0, Pengguna.IDTempat, Pengguna.IDPengguna, item.IDKombinasiProduk, item.HargaBeli, item.HargaJual, ""); } StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, StokProduk, item.Jumlah, item.HargaBeli, item.HargaJual, EnumJenisPerpindahanStok.TransferStokMasuk, "Transfer #" + TransferProduk.IDTransferProduk); } TransferProduk.IDPenerima = Pengguna.IDPengguna; TransferProduk.TanggalTerima = DateTime.Now; TransferProduk.TanggalUpdate = DateTime.Now; TransferProduk.EnumJenisTransfer = (int)PilihanJenisTransfer.TransferSelesai; db.SubmitChanges(); Response.Redirect("/WITAdministrator/Produk/Transfer/Detail.aspx?id=" + TransferProduk.IDTransferProduk, false); } else { Response.Redirect("Default.aspx", false); } } } catch (Exception ex) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message); LogError_Class LogError_Class = new LogError_Class(ex, Request.Url.PathAndQuery); } }
private void LoadData() { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PelangganLogin Pelanggan = (PelangganLogin)Session["PelangganLogin"]; //MENCARI TRANSAKSI SESSION var TransaksiECommerce = db.TBTransaksiECommerces .FirstOrDefault(item => item.IDPelanggan == Pelanggan.IDPelanggan); if (TransaksiECommerce != null) { var TransaksiECommerceDetail = TransaksiECommerce.TBTransaksiECommerceDetails; StokProduk_Class ClassStokProduk = new StokProduk_Class(db); var Result = ClassStokProduk.ValidasiStokProdukTransaksi(TransaksiECommerceDetail.ToArray()); LiteralWarning.Text = ""; foreach (var item in Result) { LiteralWarning.Text += item + "<br/>"; } MultiView1.ActiveViewIndex = 1; RepeaterCart.DataSource = TransaksiECommerceDetail .Select(item => new { item.IDTransaksiECommerceDetail, Foto = "/images/cover/" + item.TBStokProduk.TBKombinasiProduk.IDProduk + ".jpg", item.TBStokProduk.TBKombinasiProduk.Nama, item.Quantity, Harga = item.TBStokProduk.HargaJual, Total = (item.Quantity * item.TBStokProduk.HargaJual) }) .ToArray(); RepeaterCart.DataBind(); var total = TransaksiECommerceDetail.Sum(item => item.Quantity * item.TBStokProduk.HargaJual).ToString(); LiteralTotal.Text = total.ToFormatHarga(); } else { MultiView1.ActiveViewIndex = 0; } } }
protected void ButtonSimpanDetail_Click(object sender, EventArgs e) { if (Page.IsValid) { if (TextBoxJumlah.Text.ToDecimal().ToInt() > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { List <ProyeksiDetail_Model> ViewStateListDetail = (List <ProyeksiDetail_Model>)ViewState["ViewStateListDetail"]; ProyeksiDetail_Model detail = ViewStateListDetail.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); if (detail == null) { TBStokProduk stokProduk = db.TBStokProduks.FirstOrDefault(item => item.IDStokProduk == DropDownListStokProduk.SelectedValue.ToInt()); detail = new ProyeksiDetail_Model(); detail.IDProduk = stokProduk.TBKombinasiProduk.IDProduk; detail.IDKombinasiProduk = stokProduk.IDKombinasiProduk; detail.IDStokProduk = stokProduk.IDStokProduk; detail.Kode = stokProduk.TBKombinasiProduk.KodeKombinasiProduk; detail.Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, stokProduk, null); detail.Produk = stokProduk.TBKombinasiProduk.TBProduk.Nama; detail.Atribut = stokProduk.TBKombinasiProduk.TBAtributProduk.Nama; detail.Warna = stokProduk.TBKombinasiProduk.TBProduk.TBWarna.Nama; detail.KombinasiProduk = stokProduk.TBKombinasiProduk.Nama; detail.HargaJual = stokProduk.HargaJual.Value; detail.Jumlah = TextBoxJumlah.Text.ToDecimal().ToInt(); detail.SisaBelumProduksi = detail.Jumlah; ViewStateListDetail.Add(detail); TambahKomposisi(db, detail.IDKombinasiProduk, detail.Jumlah); } else { KurangKomposisi(db, detail.IDKombinasiProduk, detail.Jumlah); detail.Jumlah = TextBoxJumlah.Text.ToDecimal().ToInt(); TambahKomposisi(db, detail.IDKombinasiProduk, detail.Jumlah); } ViewState["ViewStateListDetail"] = ViewStateListDetail; } LoadData(); } } }
public void ValidasiStokProdukTransaksi(DataClassesDatabaseDataContext db) { PelangganLogin Pelanggan = (PelangganLogin)Session["PelangganLogin"]; //MENCARI TRANSAKSI SESSION var TransaksiECommerce = db.TBTransaksiECommerces .FirstOrDefault(item => item.IDPelanggan == Pelanggan.IDPelanggan); StokProduk_Class ClassStokProduk = new StokProduk_Class(db); var Result = ClassStokProduk.ValidasiStokProdukTransaksi(TransaksiECommerce.TBTransaksiECommerceDetails.ToArray()); if (Result.Count > 0) { Response.Redirect("_Cart.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["PenggunaLogin"] == null) { Response.Redirect("/WITWarehouse/Default.aspx"); return; } using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, Request.QueryString["id"].ToInt()); if (StokProduk != null) { List <dynamic> ListBarcode = new List <dynamic>(); for (int i = 0; i < 1; i++) { ListBarcode.Add(new { Nama = StokProduk.TBKombinasiProduk.TBProduk.Nama, Kode = StokProduk.TBKombinasiProduk.KodeKombinasiProduk, Varian = !string.IsNullOrWhiteSpace(StokProduk.TBKombinasiProduk.TBAtributProduk.Nama) ? StokProduk.TBKombinasiProduk.TBAtributProduk.Nama : "-", Warna = StokProduk.TBKombinasiProduk.TBProduk.TBWarna.Nama, Kategori = StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "", Harga = StokProduk.HargaJual.ToFormatHarga() }); } RepeaterBarcode.DataSource = ListBarcode; RepeaterBarcode.DataBind(); } else { Response.Redirect("/WITWarehouse/Default.aspx"); } } }
private void LoadData(DataClassesDatabaseDataContext db) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; DataDisplay DataDisplay = new DataDisplay(); var ListData = db.TBStokProduks .AsEnumerable() .Where(item => item.IDTempat == pengguna.IDTempat && (!string.IsNullOrWhiteSpace(TextBoxCari.Text) ? item.TBKombinasiProduk.Nama.ToLower().Contains(TextBoxCari.Text.ToLower()) : true)) .Select(item => new { item.TBKombinasiProduk.IDKombinasiProduk, item.TBKombinasiProduk.KodeKombinasiProduk, item.TBKombinasiProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, HargaPokokProduksi = StokProduk_Class.HitungHargaPokokProduksi(db, pengguna.IDTempat, item.TBKombinasiProduk), item.HargaBeli, item.HargaJual, PersentaseSelisihHarga = (item.HargaJual > 0) ? (item.HargaBeli / item.HargaJual) * 100 : 0, PunyaKomposisi = item.TBKombinasiProduk.TBKomposisiKombinasiProduks.Count }).OrderBy(item => item.Nama).ToArray(); int skip = 0; int take = 0; int count = ListData.Count(); DataDisplay.Proses(ListData.Count(), DropDownListHalaman, DropDownListJumlahData, out take, out skip); RepeaterKombinasiProduk.DataSource = ListData.Skip(skip).Take(take); RepeaterKombinasiProduk.DataBind(); DropDownListBahanBaku.DataSource = db.TBStokBahanBakus.Where(item => item.IDTempat == pengguna.IDTempat).Select(item => new { item.IDBahanBaku, item.TBBahanBaku.Nama }).OrderBy(item => item.Nama); DropDownListBahanBaku.DataTextField = "Nama"; DropDownListBahanBaku.DataValueField = "IDBahanBaku"; DropDownListBahanBaku.DataBind(); DropDownListBahanBaku.Items.Insert(0, new ListItem { Text = "-Bahan Baku-", Value = "0" }); }
protected void ButtonSimpanVarian_Click(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); foreach (RepeaterItem item in RepeaterKombinasiProduk.Items) { HiddenField HiddenFieldIDKombinasiProduk = (HiddenField)item.FindControl("HiddenFieldIDKombinasiProduk"); HiddenField HiddenFieldJumlah = (HiddenField)item.FindControl("HiddenFieldJumlah"); TextBox TextBoxKodeKombinasiProduk = (TextBox)item.FindControl("TextBoxKodeKombinasiProduk"); TextBox TextBoxAtributProduk = (TextBox)item.FindControl("TextBoxAtributProduk"); TextBox TextBoxBerat = (TextBox)item.FindControl("TextBoxBerat"); TextBox TextBoxHargaBeli = (TextBox)item.FindControl("TextBoxHargaBeli"); TextBox TextBoxHargaJual = (TextBox)item.FindControl("TextBoxHargaJual"); TextBox TextBoxJumlah = (TextBox)item.FindControl("TextBoxJumlah"); //KOMBINASI PRODUK var KombinasiProduk = KombinasiProduk_Class.Ubah(db, Pengguna.IDTempat, HiddenFieldIDKombinasiProduk.Value.ToInt(), "", TextBoxAtributProduk.Text, TextBoxKodeKombinasiProduk.Text, TextBoxBerat.Text.ToDecimal(), ""); //STOK PRODUK var StokProduk = StokProduk_Class.Ubah(Pengguna.IDTempat, Pengguna.IDPengguna, KombinasiProduk, TextBoxHargaBeli.Text.ToDecimal(), TextBoxHargaJual.Text.ToDecimal()); if (StokProduk == null && (TextBoxHargaBeli.Text.ToDecimal() > 0 || TextBoxHargaJual.Text.ToDecimal() > 0 || TextBoxJumlah.Text.ToInt() > 0)) { StokProduk = StokProduk_Class.MembuatStok(0, Pengguna.IDTempat, Pengguna.IDPengguna, KombinasiProduk, TextBoxHargaBeli.Text.ToDecimal(), TextBoxHargaJual.Text.ToDecimal(), ""); } StokProduk_Class.Penyesuaian(Pengguna.IDTempat, Pengguna.IDPengguna, StokProduk, TextBoxJumlah.Text.ToDecimal().ToInt(), ""); } db.SubmitChanges(); LoadDataKombinasiProduk(db); } }
public List <TBKombinasiProduk> TambahList(DataClassesDatabaseDataContext db, int idTempat, int idPengguna, TBProduk Produk, string listAtributProduk) { string[] _tempAtributProduk = listAtributProduk.Replace(" ,", ",").Replace(", ", ",").Split(','); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); List <TBKombinasiProduk> ListKombinasiProduk = new List <TBKombinasiProduk>(); foreach (var item in _tempAtributProduk.Distinct()) { var KombinasiProduk = Tambah(db, Produk, "", item, "", 0, ""); var StokProduk = StokProduk_Class.MembuatStok(0, idTempat, idPengguna, KombinasiProduk, 0, 0, ""); db.SubmitChanges(); PengaturanBarcode(db, idTempat, KombinasiProduk); ListKombinasiProduk.Add(KombinasiProduk); } return(ListKombinasiProduk); }
protected void RepeaterData_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Batal") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TBPOProduksiProdukRetur poProduksiProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item => item.IDPOProduksiProdukRetur == e.CommandArgument.ToString()); poProduksiProdukRetur.EnumStatusRetur = (int)EnumStatusPORetur.Batal; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); foreach (var item in poProduksiProdukRetur.TBPOProduksiProdukReturDetails) { StokProduk_Class.BertambahBerkurang(poProduksiProdukRetur.IDTempat.Value, pengguna.IDPengguna, item.TBStokProduk, item.Jumlah.Value, item.HargaBeli.Value, item.HargaJual.Value, EnumJenisPerpindahanStok.TransaksiBatal, "(" + item.TBStokProduk.TBKombinasiProduk.Nama + ") Pembatalan Retur PO #" + e.CommandArgument.ToString()); } db.SubmitChanges(); LoadData(); } } }
protected void ButtonUpdateHargaBeli_Click(object sender, EventArgs e) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); foreach (RepeaterItem item in RepeaterKombinasiProduk.Items) { CheckBox CheckBoxPilih = (CheckBox)item.FindControl("CheckBoxPilih"); if (CheckBoxPilih.Checked) { Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); Label LabelHargaBeli = (Label)item.FindControl("LabelHargaBeli"); Label LabelHargaJual = (Label)item.FindControl("LabelHargaJual"); Label LabelStok = (Label)item.FindControl("LabelStok"); //STOK PRODUK var StokProduk = StokProduk_Class.Ubah(Pengguna.IDTempat, Pengguna.IDPengguna, KombinasiProduk_Class.Cari(db, LabelIDKombinasiProduk.Text.ToInt()), TextBoxUpdateHargaBeli.Text.ToDecimal(), LabelHargaJual.Text.ToDecimal()); if (StokProduk == null && (TextBoxUpdateHargaBeli.Text.ToDecimal() > 0 || LabelHargaJual.Text.ToDecimal() > 0 || LabelStok.Text.ToInt() > 0)) { StokProduk = StokProduk_Class.MembuatStok(0, Pengguna.IDTempat, Pengguna.IDPengguna, KombinasiProduk_Class.Cari(db, LabelIDKombinasiProduk.Text.ToInt()), TextBoxUpdateHargaBeli.Text.ToDecimal(), LabelHargaJual.Text.ToDecimal(), ""); } StokProduk_Class.Penyesuaian(Pengguna.IDTempat, Pengguna.IDPengguna, StokProduk, LabelStok.Text.ToDecimal().ToInt(), ""); LabelHargaBeli.Text = TextBoxUpdateHargaBeli.Text; } } db.SubmitChanges(); } }
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 ButtonOk_Click(object sender, EventArgs e) { LiteralWarning.Text = ""; //VALIDASI NAMA PRODUK HARUS DIISI if (string.IsNullOrWhiteSpace(TextBoxNamaProduk.Text)) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Nama produk harus diisi"); return; } using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Produk_Class ClassProduk = new Produk_Class(db); var ProdukDuplikat = ClassProduk.Cari(TextBoxNamaProduk.Text); if (ButtonOk.Text == "Tambah") { //VALIDASI NAMA PRODUK DUPLIKAT if (ProdukDuplikat != null) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Nama produk <a href='/WITAdministrator/Produk/Pengaturan.aspx?id=" + ProdukDuplikat.IDProduk + "'>" + ProdukDuplikat.Nama + "</a> sudah digunakan"); return; } KategoriProduk_Class KategoriProduk_Class = new KategoriProduk_Class(); KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); //PRODUK var Produk = ClassProduk.Tambah(TextBoxProdukKategori.Text, TextBoxWarna.Text, TextBoxPemilikProduk.Text, TextBoxKodeProduk.Text, TextBoxNamaProduk.Text, TextBoxDeskripsi.Text); //KATEGORI PRODUK KategoriProduk_Class.KategoriProduk(db, Produk, TextBoxKategori.Text); //KOMBINASI PRODUK var KombinasiProduk = KombinasiProduk_Class.Tambah(db, Produk, "", "", "", 0, ""); //STOK PRODUK StokProduk_Class.MembuatStok(0, Pengguna.IDTempat, Pengguna.IDPengguna, KombinasiProduk, 0, 0, ""); db.SubmitChanges(); //GENERATE BARCODE KombinasiProduk_Class.PengaturanBarcode(db, Pengguna.IDTempat, KombinasiProduk); Session["IDProduk"] = Produk.IDProduk; HiddenFieldIDProduk.Value = Produk.IDProduk.ToString(); ButtonOk.Text = "Ubah"; LabelKeterangan.Text = "Ubah"; AjaxFileUploadFoto.Enabled = true; PanelVarian.Visible = true; LoadDataKombinasiProduk(db); } else if (ButtonOk.Text == "Ubah") { //VALIDASI PRODUK TIDAK BOLEH DUPLIKAT if (ProdukDuplikat != null && (ProdukDuplikat.IDProduk != HiddenFieldIDProduk.Value.ToInt())) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Nama produk <a href='/WITAdministrator/Produk/Pengaturan.aspx?id=" + ProdukDuplikat.IDProduk + "'>" + TextBoxNamaProduk.Text + "</a> sudah digunakan"); return; } KategoriProduk_Class KategoriProduk_Class = new KategoriProduk_Class(); //PRODUK var Produk = ClassProduk.Ubah( IDProduk: HiddenFieldIDProduk.Value.ToInt(), warna: TextBoxWarna.Text, pemilikProduk: TextBoxPemilikProduk.Text, produkKategori: TextBoxProdukKategori.Text, KodeProduk: TextBoxKodeProduk.Text, Nama: TextBoxNamaProduk.Text, Deskripsi: TextBoxDeskripsi.Text ); //KATEGORI PRODUK KategoriProduk_Class.KategoriProduk(db, Produk, TextBoxKategori.Text); db.SubmitChanges(); LoadDataKombinasiProduk(db); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; TextBoxPegawai.Text = pengguna.NamaLengkap; TBProyeksi proyeksi = db.TBProyeksis.FirstOrDefault(item => item.IDProyeksi == Request.QueryString["id"]); TextBoxTanggalProyeksi.Text = proyeksi.TanggalProyeksi.ToFormatTanggal(); TextBoxTanggalTarget.Text = proyeksi.TanggalTarget.ToFormatTanggal(); #region Produk var daftarProduk = proyeksi.TBProyeksiDetails.Select(item => new { item.TBKombinasiProduk.KodeKombinasiProduk, PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(null, null, item.TBKombinasiProduk), item.Jumlah, item.Sisa }).OrderBy(item => item.Produk).ThenBy(item => item.AtributProduk).ToArray(); RepeaterProduk.DataSource = daftarProduk; RepeaterProduk.DataBind(); if (daftarProduk.Sum(item => item.Sisa) <= 0) { ButtonProduk.Visible = false; } #endregion if (proyeksi.TBProyeksiKomposisis.Count == 0) { PanelKomposisi.Visible = false; RepeaterKomposisi.DataSource = null; RepeaterKomposisi.DataBind(); RepeaterBahanBakuDasar.DataSource = null; RepeaterBahanBakuDasar.DataBind(); } else { PanelKomposisi.Visible = true; #region Komposisi var produksiBahanBaku = proyeksi.TBProyeksiKomposisis.Where(item => item.LevelProduksi > 0).GroupBy(item => new { item.LevelProduksi }) .Select(item => new { item.Key.LevelProduksi, SubData = item.Where(data => data.LevelProduksi == item.Key.LevelProduksi && data.BahanBakuDasar == false).Select(data => new { data.IDBahanBaku, data.IDSatuan, BahanBaku = data.TBBahanBaku.Nama, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, data.TBBahanBaku), Satuan = data.TBSatuan.Nama, data.Jumlah }).OrderBy(data => data.BahanBaku), StatusButton = item.Sum(data => data.Sisa) > 0 ? true : false }).OrderBy(item => item.LevelProduksi); RepeaterKomposisi.DataSource = produksiBahanBaku; RepeaterKomposisi.DataBind(); #endregion #region Komposisi Dasar //RepeaterBahanBakuDasar.DataSource = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true) //.Select(item => new //{ // item.TBBahanBaku.IDBahanBaku, // item.TBSatuan.IDSatuan, // BahanBaku = item.TBBahanBaku.Nama, // Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.TBBahanBaku), // Satuan = item.TBSatuan.Nama, // item.Jumlah, //}).OrderBy(data => data.BahanBaku); //RepeaterBahanBakuDasar.DataBind(); var purchaseOrder = proyeksi.TBProyeksiKomposisis.Where(item => item.BahanBakuDasar == true).GroupBy(item => new { item.TBBahanBaku, item.TBSatuan }) .Select(item => new { item.Key.TBBahanBaku.IDBahanBaku, item.Key.TBSatuan.IDSatuan, BahanBaku = item.Key.TBBahanBaku.Nama, Kategori = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(null, null, item.Key.TBBahanBaku), Satuan = item.Key.TBSatuan.Nama, Jumlah = item.Sum(x => x.Jumlah), Sisa = item.Sum(x => x.Sisa) }).OrderBy(data => data.BahanBaku); RepeaterBahanBakuDasar.DataSource = purchaseOrder; RepeaterBahanBakuDasar.DataBind(); if (purchaseOrder.Sum(item => item.Sisa) <= 0) { LinkButtonPurchaseOrder.Visible = false; } #endregion } RepeaterPOProduksiBahanBaku.DataSource = proyeksi.TBPOProduksiBahanBakus.OrderBy(item => item.Tanggal).Select(item => new { item.IDPOProduksiBahanBaku, Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "BahanBaku"), item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Supplier = item.IDSupplier == null ? string.Empty : item.TBSupplier.Nama, item.Grandtotal }).ToArray(); RepeaterPOProduksiBahanBaku.DataBind(); RepeaterPOProduksiProduk.DataSource = proyeksi.TBPOProduksiProduks.OrderBy(item => item.Tanggal).Select(item => new { item.IDPOProduksiProduk, Jenis = Pengaturan.JenisPOProduksi(item.EnumJenisProduksi, "Produk"), item.Tanggal, Pegawai = item.TBPengguna.NamaLengkap, Vendor = item.IDVendor == null ? string.Empty : item.TBVendor.Nama, item.Grandtotal }).ToArray(); RepeaterPOProduksiProduk.DataBind(); } } }
protected void ButtonTerima_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPenerimaanPOProduksiProduk = string.Empty; string IDTransferProduk = string.Empty; TBPenerimaanPOProduksiProduk penerimaan = null; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); bool penerimaanSesuai = true; EntitySet <TBPenerimaanPOProduksiProdukDetail> daftarDetail = new EntitySet <TBPenerimaanPOProduksiProdukDetail>(); int baris = 0; foreach (RepeaterItem item in RepeaterDetail.Items) { baris++; Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxSisaPesanan = (TextBox)item.FindControl("TextBoxSisaPesanan"); TextBox TextBoxJumlahDatang = (TextBox)item.FindControl("TextBoxJumlahDatang"); TextBox TextBoxJumlahTerima = (TextBox)item.FindControl("TextBoxJumlahTerima"); TextBox TextBoxJumlahTolakKeVendor = (TextBox)item.FindControl("TextBoxJumlahTolakKeVendor"); if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() > 0) { if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() >= TextBoxJumlahTerima.Text.ToDecimal().ToInt()) { TBPOProduksiProdukDetail poProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == LabelIDKombinasiProduk.Text.ToInt()); daftarDetail.Add(new TBPenerimaanPOProduksiProdukDetail() { IDKombinasiProduk = poProduksiProdukDetail.IDKombinasiProduk, BiayaTambahan = poProduksiProdukDetail.BiayaTambahan, HargaPokokKomposisi = poProduksiProdukDetail.HargaPokokKomposisi, TotalHPP = poProduksiProdukDetail.TotalHPP, HargaVendor = poProduksiProdukDetail.HargaVendor, PotonganHargaVendor = poProduksiProdukDetail.PotonganHargaVendor, TotalHargaVendor = poProduksiProdukDetail.TotalHargaVendor, Datang = TextBoxJumlahDatang.Text.ToDecimal().ToInt(), Diterima = TextBoxJumlahTerima.Text.ToDecimal().ToInt(), TolakKeVendor = TextBoxJumlahTolakKeVendor.Text.ToDecimal().ToInt(), Sisa = TextBoxJumlahTerima.Text.ToDecimal().ToInt() <= TextBoxSisaPesanan.Text.ToDecimal().ToInt() ? TextBoxSisaPesanan.Text.ToDecimal().ToInt() - TextBoxJumlahTerima.Text.ToDecimal().ToInt() : 0 }); } else { LabelPeringatan.Text = "Jumlah diterima lebih besar dari jumlah datang, baris ke-" + baris.ToString(); peringatan.Visible = true; penerimaanSesuai = false; break; } } } if (penerimaanSesuai == true) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); TBStokProduk[] daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == Pengguna.IDTempat).ToArray(); db.Proc_InsertPenerimaanPOProduksiProduk(ref IDPenerimaanPOProduksiProduk, poProduksiProduk.IDPOProduksiProduk, poProduksiProduk.IDVendor, Pengguna.IDTempat, Pengguna.IDPengguna, TextBoxTanggalPenerimaan.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); penerimaan.IDPenggunaTerima = penerimaan.IDPenggunaDatang; penerimaan.TanggalTerima = penerimaan.TanggalDatang; penerimaan.TBPenerimaanPOProduksiProdukDetails = daftarDetail; penerimaan.TotalDatang = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Datang); penerimaan.TotalDiterima = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Diterima); penerimaan.TotalTolakKeVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TolakKeVendor); penerimaan.TotalSisa = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Sisa); penerimaan.SubtotalBiayaTambahan = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.BiayaTambahan * item.Diterima); penerimaan.SubtotalTotalHPP = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHPP * item.Diterima); penerimaan.SubtotalTotalHargaVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHargaVendor * item.Diterima); penerimaan.Grandtotal = penerimaan.SubtotalTotalHPP + penerimaan.SubtotalTotalHargaVendor; penerimaan.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima; penerimaan.Keterangan = TextBoxKeterangan.Text; foreach (var item in penerimaan.TBPenerimaanPOProduksiProdukDetails) { var POProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiProdukDetail.Sisa = item.Sisa; TBStokProduk StokProduk = daftarStokProduk.FirstOrDefault(data => data.IDTempat == Pengguna.IDTempat && data.IDKombinasiProduk == item.IDKombinasiProduk); StokProduk_Class.PengaturanJumlahStokPenerimaanPOProduk(penerimaan.TanggalTerima.Value, Pengguna.IDPengguna, Pengguna.IDTempat, StokProduk, item.TotalHargaVendor, item.Datang, item.TolakKeVendor, item.TBPenerimaanPOProduksiProduk.TBPOProduksiProduk.IDPOProduksiProduk + " - #" + item.TBPenerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk); } poProduksiProduk.TBPenerimaanPOProduksiProduks.Add(penerimaan); #region arie - INPUT JURNAL ////////////var KonfigurasiAkun = db.TBKonfigurasiAkuns.Where(item => item.IDTempat == 1); ////////////if (KonfigurasiAkun != null) ////////////{ //////////// #region Pembuatan Jurnal Penerimaan PO YG Belum Bayar //////////// TBJurnal Jurnal = new TBJurnal //////////// { //////////// IDTempat = Pengguna.IDTempat, //////////// Tanggal = penerimaan.TanggalTerima, //////////// Keterangan = penerimaan.Keterangan, //////////// IDPengguna = penerimaan.IDPenggunaTerima, //////////// Referensi = penerimaan.IDPenerimaanPOProduksiProduk //////////// }; //////////// #region JOURNAL ENTRY //////////// //DEBIT : PERSEDIAAN //////////// //KREDIT : HUTANG DAGANG //////////// //PERSEDIAAN //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "PERSEDIAAN").IDAkun, //////////// Debit = penerimaan.Grandtotal, //////////// Kredit = 0 //////////// }); //////////// //HUTANG DAGANG //////////// Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //////////// { //////////// IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "HUTANG DAGANG").IDAkun, //////////// Debit = 0, //////////// Kredit = penerimaan.Grandtotal //////////// }); //////////// #endregion //////////// db.TBJurnals.InsertOnSubmit(Jurnal); //////////// #endregion ////////////} #endregion db.SubmitChanges(); statusBerhasil = true; } else { peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); if (penerimaan != null) { db.TBPenerimaanPOProduksiProdukDetails.DeleteAllOnSubmit(penerimaan.TBPenerimaanPOProduksiProdukDetails); db.TBPenerimaanPOProduksiProduks.DeleteOnSubmit(penerimaan); db.SubmitChanges(); IDPenerimaanPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan Produksi Ke Supplier (ButtonSimpan_Click by : " + Pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } }
protected void ButtonUpload_Click(object sender, EventArgs e) { string NamaFile = Path.GetFileNameWithoutExtension(FileUploadTransferProduk.FileName); string ExtensiFile = Path.GetExtension(FileUploadTransferProduk.FileName); #region Format import harus .zip if (ExtensiFile != ".zip") { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Format import harus .zip"); return; } #endregion if (FileUploadTransferProduk.HasFile) { string Folder = Server.MapPath("~/Files/Transfer Produk/Penerimaan/"); if (!Directory.Exists(Folder)) { Directory.CreateDirectory(Folder); } string LokasiFile = Folder + NamaFile + ExtensiFile; string Output = Folder + NamaFile + "_dec" + ExtensiFile; FileUploadTransferProduk.SaveAs(LokasiFile); EncryptDecrypt.Decrypt(LokasiFile, Output); string file = File.ReadAllText(Output); File.Delete(Output); var FileTransferProduk = JsonConvert.DeserializeObject <FileTransferProduk>(file); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { #region Transfer transfer sudah terdaftar if (db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == FileTransferProduk.IDTransferProduk) != null) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Data Transfer sudah terdaftar"); return; } #endregion Tempat_Class ClassTempat = new Tempat_Class(db); Produk_Class ClassProduk = new Produk_Class(db); KategoriProduk_Class KategoriProduk_Class = new KategoriProduk_Class(); KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; #region TEMPAT PENERIMA var TempatPenerima = ClassTempat.Cari(FileTransferProduk.FileTempatPenerima.IDWMS); if (TempatPenerima == null) { TempatPenerima = new TBTempat { Alamat = FileTransferProduk.FileTempatPenerima.Alamat, BiayaTambahan1 = FileTransferProduk.FileTempatPenerima.BiayaTambahan1, BiayaTambahan2 = FileTransferProduk.FileTempatPenerima.BiayaTambahan2, BiayaTambahan3 = FileTransferProduk.FileTempatPenerima.BiayaTambahan3, BiayaTambahan4 = FileTransferProduk.FileTempatPenerima.BiayaTambahan4, Email = FileTransferProduk.FileTempatPenerima.Email, EnumBiayaTambahan1 = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan1, EnumBiayaTambahan2 = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan2, EnumBiayaTambahan3 = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan3, EnumBiayaTambahan4 = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan4, FooterPrint = FileTransferProduk.FileTempatPenerima.FooterPrint, IDKategoriTempat = FileTransferProduk.FileTempatPenerima.IDKategoriTempat, IDStore = FileTransferProduk.FileTempatPenerima.IDStore, _IDWMS = FileTransferProduk.FileTempatPenerima.IDWMS, KeteranganBiayaTambahan1 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan1, KeteranganBiayaTambahan2 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan2, KeteranganBiayaTambahan3 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan3, KeteranganBiayaTambahan4 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan4, Kode = FileTransferProduk.FileTempatPenerima.Kode, Latitude = FileTransferProduk.FileTempatPenerima.Latitude, Longitude = FileTransferProduk.FileTempatPenerima.Longitude, Nama = FileTransferProduk.FileTempatPenerima.Nama, _TanggalInsert = FileTransferProduk.FileTempatPenerima.TanggalDaftar, _TanggalUpdate = FileTransferProduk.FileTempatPenerima.TanggalUpdate, Telepon1 = FileTransferProduk.FileTempatPenerima.Telepon1, Telepon2 = FileTransferProduk.FileTempatPenerima.Telepon2 }; db.TBTempats.InsertOnSubmit(TempatPenerima); db.SubmitChanges(); } #endregion //MASTER DATA foreach (var item in FileTransferProduk.TransferProdukDetails) { #region PRODUK var Produk = ClassProduk.Cari(item.Produk); if (Produk == null) { Produk = ClassProduk.Tambah(item.Kategori, item.Warna, item.PemilikProduk, item.Produk); } else { Produk = ClassProduk.Ubah(Produk, item.Warna, item.PemilikProduk); } #endregion #region KATEGORI KategoriProduk_Class.KategoriProduk(db, Produk, item.Kategori); #endregion #region KOMBINASI PRODUK var KombinasiProduk = KombinasiProduk_Class.Cari(db, item.KombinasiProduk); if (KombinasiProduk == null) { AtributProduk_Class ClassAtributProduk = new AtributProduk_Class(db); KombinasiProduk = KombinasiProduk_Class.Tambah(db, Produk, ClassAtributProduk.CariTambah("", item.Atribut), item.TanggalDaftar, item.TanggalUpdate, item.Kode, item.Berat, item.Keterangan); } else { KombinasiProduk = KombinasiProduk_Class.Ubah(db, TempatPenerima.IDTempat, KombinasiProduk, Produk, "", item.Atribut, item.Kode, item.Berat, item.Keterangan); } #endregion #region STOK PRODUK var StokProduk = StokProduk_Class.Cari(TempatPenerima.IDTempat, KombinasiProduk.IDKombinasiProduk); if (StokProduk == null) { if (item.PersentaseKonsinyasi > 0) { StokProduk_Class.MembuatStokKonsinyasi(0, TempatPenerima.IDTempat, Pengguna.IDPengguna, KombinasiProduk, item.PersentaseKonsinyasi, item.HargaJual, ""); } else { StokProduk_Class.MembuatStok(0, TempatPenerima.IDTempat, Pengguna.IDPengguna, KombinasiProduk, item.HargaBeli, item.HargaJual, ""); } } else { StokProduk.HargaBeli = item.HargaBeli; StokProduk.HargaJual = item.HargaJual; StokProduk.PersentaseKonsinyasi = item.PersentaseKonsinyasi; } #endregion db.SubmitChanges(); } #region TEMPAT PENGIRIM var TempatPengirim = ClassTempat.Cari(FileTransferProduk.FileTempatPengirim.IDWMS); if (TempatPengirim == null) { TempatPengirim = new TBTempat { Alamat = FileTransferProduk.FileTempatPengirim.Alamat, BiayaTambahan1 = FileTransferProduk.FileTempatPengirim.BiayaTambahan1, BiayaTambahan2 = FileTransferProduk.FileTempatPengirim.BiayaTambahan2, BiayaTambahan3 = FileTransferProduk.FileTempatPengirim.BiayaTambahan3, BiayaTambahan4 = FileTransferProduk.FileTempatPengirim.BiayaTambahan4, Email = FileTransferProduk.FileTempatPengirim.Email, EnumBiayaTambahan1 = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan1, EnumBiayaTambahan2 = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan2, EnumBiayaTambahan3 = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan3, EnumBiayaTambahan4 = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan4, FooterPrint = FileTransferProduk.FileTempatPengirim.FooterPrint, IDKategoriTempat = FileTransferProduk.FileTempatPengirim.IDKategoriTempat, IDStore = FileTransferProduk.FileTempatPengirim.IDStore, _IDWMS = FileTransferProduk.FileTempatPengirim.IDWMS, KeteranganBiayaTambahan1 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan1, KeteranganBiayaTambahan2 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan2, KeteranganBiayaTambahan3 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan3, KeteranganBiayaTambahan4 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan4, Kode = FileTransferProduk.FileTempatPengirim.Kode, Latitude = FileTransferProduk.FileTempatPengirim.Latitude, Longitude = FileTransferProduk.FileTempatPengirim.Longitude, Nama = FileTransferProduk.FileTempatPengirim.Nama, _TanggalInsert = FileTransferProduk.FileTempatPengirim.TanggalDaftar, _TanggalUpdate = FileTransferProduk.FileTempatPengirim.TanggalUpdate, Telepon1 = FileTransferProduk.FileTempatPengirim.Telepon1, Telepon2 = FileTransferProduk.FileTempatPengirim.Telepon2 }; } #endregion #region PENGGUNA PENGIRIM var PenggunaPengirim = db.TBPenggunas .FirstOrDefault(item => item.Username.ToLower() == FileTransferProduk.FilePenggunaPengirim.Username.ToLower()); if (PenggunaPengirim == null) { //PENGGUNA PENGIRIM PenggunaPengirim = new TBPengguna { IDGrupPengguna = FileTransferProduk.FilePenggunaPengirim.IDGrupPengguna, NamaLengkap = FileTransferProduk.FilePenggunaPengirim.NamaLengkap, Username = FileTransferProduk.FilePenggunaPengirim.Username, Password = FileTransferProduk.FilePenggunaPengirim.Password, PIN = FileTransferProduk.FilePenggunaPengirim.PIN, _IsActive = FileTransferProduk.FilePenggunaPengirim.Status, TBTempat = TempatPengirim, TanggalLahir = DateTime.Now, _IDWMS = Guid.NewGuid(), TanggalBekerja = DateTime.Now, _TanggalInsert = DateTime.Now, _IDTempatInsert = TempatPenerima.IDTempat, _IDPenggunaInsert = Pengguna.IDTempat, _TanggalUpdate = DateTime.Now, _IDTempatUpdate = TempatPenerima.IDTempat, _IDPenggunaUpdate = Pengguna.IDTempat }; } #endregion #region TRANSFER PRODUK TBTransferProduk TransferProduk = new TBTransferProduk { IDTransferProduk = FileTransferProduk.IDTransferProduk, //Nomor TBPengguna = PenggunaPengirim, //IDPenerima TBTempat = TempatPengirim, IDTempatPenerima = TempatPenerima.IDTempat, TanggalDaftar = FileTransferProduk.TanggalDaftar, TanggalUpdate = FileTransferProduk.TanggalUpdate, EnumJenisTransfer = FileTransferProduk.EnumJenisTransfer, TanggalKirim = FileTransferProduk.TanggalKirim, //TanggalTerima TotalJumlah = FileTransferProduk.TotalJumlah, GrandTotalHargaBeli = FileTransferProduk.GrandTotalHargaBeli, GrandTotalHargaJual = FileTransferProduk.GrandTotalHargaJual, Keterangan = FileTransferProduk.Keterangan }; #endregion #region DETAIL TRANSFER PRODUK foreach (var item in FileTransferProduk.TransferProdukDetails) { var KombinasiProduk = KombinasiProduk_Class.Cari(db, item.KombinasiProduk); TransferProduk.TBTransferProdukDetails.Add(new TBTransferProdukDetail { //IDTransferProdukDetail //IDTransferProduk TBKombinasiProduk = KombinasiProduk, HargaBeli = item.HargaBeli, HargaJual = item.HargaJual, Jumlah = item.Jumlah //SubtotalHargaBeli //SubtotalHargaJual }); } #endregion db.TBTransferProduks.InsertOnSubmit(TransferProduk); db.SubmitChanges(); if (TransferProduk.IDTempatPenerima == Pengguna.IDTempat) { Response.Redirect("Pengaturan.aspx?id=" + TransferProduk.IDTransferProduk); } else { Response.Redirect("Default.aspx"); } } } }
private void LoadData() { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TextBoxTanggalAwal.Text = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy"); TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy"); if (TextBoxTanggalAwal.Text == TextBoxTanggalAkhir.Text) { LabelPeriode.Text = TextBoxTanggalAwal.Text; } else { LabelPeriode.Text = TextBoxTanggalAwal.Text + " - " + TextBoxTanggalAkhir.Text; } if (DropDownListCariFilterBy.SelectedValue == "semua") { divSemua.Visible = true; divFilter.Visible = false; #region FILTER Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], (DateTime)ViewState["TanggalAwal"], (DateTime)ViewState["TanggalAkhir"], false); var Result = Laporan_Class.TransaksiDetail(DropDownListCariTempat.SelectedValue.ToInt(), DropDownListCariStatusTransaksi.SelectedValue.ToInt(), null, 0, TextBoxCariKodeSemuaProduk.Text, DropDownListCariPemilikProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariAtributProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariKategoriSemuaProduk.SelectedValue.ToInt(), true); #region KONFIGURASI LAPORAN LabelPeriode.Text = Laporan_Class.Periode; //LinkDownloadSemuaProduk.Visible = GenerateExcel; //if (LinkDownloadSemuaProduk.Visible) // LinkDownloadSemuaProduk.HRef = Laporan_Class.LinkDownload; //ButtonPrintSemuaProduk.OnClientClick = "return popitup('PenjualanProdukPrint.aspx" + Laporan_Class.TempPencarian + "')"; #endregion LabelJumlahProduk.Text = Result["JumlahProduk"]; LabelHargaPokok.Text = Result["HargaPokok"]; LabelHargaJual.Text = Result["HargaJual"]; LabelPotonganHarga.Text = Result["PotonganHargaJual"]; LabelSubtotal.Text = Result["Subtotal"]; LabelPenjualanBersih.Text = Result["PenjualanBersih"]; RepeaterSemuaProduk.DataSource = Result["Data"]; RepeaterSemuaProduk.DataBind(); #endregion } else { divSemua.Visible = false; divFilter.Visible = true; #region FILTER string _tempPencarian = string.Empty; _tempPencarian += "?TanggalAwal=" + DateTime.Parse(TextBoxTanggalAwal.Text).Date; _tempPencarian += "&TanggalAkhir=" + DateTime.Parse(TextBoxTanggalAkhir.Text).Date; _tempPencarian += "&IDTempat=" + DropDownListCariTempat.SelectedValue; _tempPencarian += "&IDStatusTransaksi=" + DropDownListCariStatusTransaksi.SelectedValue; _tempPencarian += "&Filter=" + DropDownListCariFilterBy.SelectedValue; var _hasilDetailTransaksi = db.TBTransaksiDetails.ToArray(); if (DropDownListCariTempat.SelectedValue != "0") { _hasilDetailTransaksi = _hasilDetailTransaksi.Where(item => item.TBTransaksi.IDTempat == DropDownListCariTempat.SelectedValue.ToInt()).ToArray(); } if (DropDownListCariStatusTransaksi.SelectedValue != "0") { _hasilDetailTransaksi = _hasilDetailTransaksi.Where(item => item.TBTransaksi.IDStatusTransaksi == DropDownListCariStatusTransaksi.SelectedValue.ToInt()).ToArray(); } var _dataDatabase = _hasilDetailTransaksi.Where(item => item.TBTransaksi.TanggalOperasional.Value.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.TBTransaksi.TanggalOperasional.Value.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date).ToArray(); var _data = _dataDatabase.AsEnumerable().GroupBy(item => new { item.TBKombinasiProduk }) .Select(item => new { KodeKombinasiProduk = item.Key.TBKombinasiProduk.KodeKombinasiProduk, PemilikProduk = item.Key.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama, Produk = item.Key.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.Key.TBKombinasiProduk.TBAtributProduk.Nama, IDPemilikProduk = item.Key.TBKombinasiProduk.TBProduk.IDPemilikProduk, IDProduk = item.Key.TBKombinasiProduk.TBProduk.IDProduk, IDAtributProduk = item.Key.TBKombinasiProduk.IDAtributProduk, RelasiKategori = item.Key.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, item.Key.TBKombinasiProduk), JumlahProduk = item.Sum(item2 => item2.Quantity), HargaPokok = item.Sum(item2 => item2.HargaBeli * item2.Quantity), HargaJual = item.Sum(item2 => item2.HargaJual * item2.Quantity), PotonganHargaJual = item.Sum(item2 => item2.Discount * item2.Quantity), Subtotal = item.Sum(item2 => item2.Subtotal), PenjualanBersih = item.Sum(item2 => (item2.HargaJual - item2.Discount - item2.HargaBeli) * item2.Quantity), }); if (DropDownListCariFilterBy.SelectedValue == "brand") { var hasil = db.TBPemilikProduks.AsEnumerable().Where(item => _data.Any(data => data.IDPemilikProduk == item.IDPemilikProduk)).Select(item => new { Nama = item.Nama, Body = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk), TotalJumlahProduk = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.JumlahProduk), TotalHargaPokok = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.HargaPokok), TotalHargaJual = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.HargaJual), TotalPotonganHargaJual = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.PotonganHargaJual), TotalSubtotal = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.Subtotal), TotalPenjualanBersih = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.PenjualanBersih), }).ToArray(); RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama); RepeaterFilterBy.DataBind(); } else if (DropDownListCariFilterBy.SelectedValue == "produk") { var hasil = db.TBProduks.AsEnumerable().Where(item => _data.Any(data => data.IDProduk == item.IDProduk)).Select(item => new { Nama = item.Nama, Body = _data.Where(data => data.IDProduk == item.IDProduk), TotalJumlahProduk = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.JumlahProduk), TotalHargaPokok = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.HargaPokok), TotalHargaJual = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.HargaJual), TotalPotonganHargaJual = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.PotonganHargaJual), TotalSubtotal = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.Subtotal), TotalPenjualanBersih = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.PenjualanBersih), }).ToArray(); RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama); RepeaterFilterBy.DataBind(); } else if (DropDownListCariFilterBy.SelectedValue == "varian") { var hasil = db.TBAtributProduks.AsEnumerable().Where(item => _data.Any(data => data.IDAtributProduk == item.IDAtributProduk)).Select(item => new { Nama = item.Nama, Body = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk), TotalJumlahProduk = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.JumlahProduk), TotalHargaPokok = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.HargaPokok), TotalHargaJual = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.HargaJual), TotalPotonganHargaJual = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.PotonganHargaJual), TotalSubtotal = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.Subtotal), TotalPenjualanBersih = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.PenjualanBersih), }).ToArray(); RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama); RepeaterFilterBy.DataBind(); } else if (DropDownListCariFilterBy.SelectedValue == "kategori") { var hasil = db.TBKategoriProduks.AsEnumerable().Where(item => _data.Any(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null)).Select(item => new { Nama = item.Nama, Body = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null), TotalJumlahProduk = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.JumlahProduk), TotalHargaPokok = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.HargaPokok), TotalHargaJual = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.HargaJual), TotalPotonganHargaJual = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.PotonganHargaJual), TotalSubtotal = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.Subtotal), TotalPenjualanBersih = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.PenjualanBersih), }).ToArray(); RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama); RepeaterFilterBy.DataBind(); } #endregion } } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { try { //STATUS STOK KURANG ATAU TIDAK bool StokKurang = false; int TotalTransfer = 0; string PesanTransaksi = ""; //MENAMPILKAN MESSAGE LiteralWarning.Text = ""; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); Transaksi_Model Transaksi; //CLASS TRANSAKSI if (string.IsNullOrWhiteSpace(LabelIDTransaksi.Text)) { //MEMBUAT TRANSAKSI BARU Transaksi = new Transaksi_Model(Pengguna.IDPengguna, Pengguna.IDTempat, DateTime.Now); //3 : WHOLESALE Transaksi.IDJenisTransaksi = 3; } else { Transaksi = new Transaksi_Model(LabelIDTransaksi.Text, Pengguna.IDPengguna); } foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items) { Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); Label LabelJumlah = (Label)item.FindControl("LabelJumlah"); TextBox TextBoxJumlahTransaksi = (TextBox)item.FindControl("TextBoxJumlahTransaksi"); HtmlTableRow PanelStok = (HtmlTableRow)item.FindControl("PanelStok"); int JumlahTransaksi = (int)Pengaturan.FormatAngkaInput(TextBoxJumlahTransaksi); if (JumlahTransaksi > 0) { //JIKA JUMLAH TRANSAKSI VALID TIDAK NULL DAN TIDAK 0 //PENCARIAN STOK PRODUK var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, LabelIDKombinasiProduk.Text.ToInt()); if (JumlahTransaksi <= StokProduk.Jumlah) { //JIKA JUMLAH YANG AKAN DI TRANSAKSI LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK //APAKAH SUDAH ADA DI DETAIL var TransaksiDetail = Transaksi.Detail.FirstOrDefault(item2 => item2.IDKombinasiProduk == LabelIDKombinasiProduk.Text.ToInt()); if (TransaksiDetail == null) { Transaksi.TambahDetailTransaksi(LabelIDKombinasiProduk.Text.ToInt(), JumlahTransaksi); } else { Transaksi.TambahKurangJumlahProduk(TransaksiDetail.IDDetailTransaksi, JumlahTransaksi); } //MENGKOSONGKAN TEXTBOX - LABEL JUMLAH DIISI DENGAN JUMLAH STOK TERBARU TextBoxJumlahTransaksi.Text = ""; PanelStok.Attributes.Add("class", ""); LabelJumlah.Text = Pengaturan.FormatHarga(Pengaturan.FormatAngkaInput(LabelJumlah.Text) - JumlahTransaksi); LabelTotalJumlahStok.Text = Pengaturan.FormatHarga(Pengaturan.FormatAngkaInput(LabelTotalJumlahStok.Text) - JumlahTransaksi); //MESSAGE TRANSFER YANG BERHASIL TotalTransfer += JumlahTransaksi; PesanTransaksi += "<br/>" + Pengaturan.FormatHarga(JumlahTransaksi) + " - " + StokProduk.TBKombinasiProduk.Nama; } else { //REFRESH LABEL JUMLAH STOK LabelTotalJumlahStok.Text = Pengaturan.FormatHarga(Pengaturan.FormatAngkaInput(LabelTotalJumlahStok.Text) - (Pengaturan.FormatAngkaInput(LabelJumlah.Text) - StokProduk.Jumlah)); LabelJumlah.Text = Pengaturan.FormatHarga(StokProduk.Jumlah); PanelStok.Attributes.Add("class", "danger"); StokKurang = true; } } //HANDLE POSTBACK FORMAT HARGA TextBoxJumlahTransaksi.Text = Pengaturan.FormatAngkaInput(TextBoxJumlahTransaksi.Text) == 0 ? "" : Pengaturan.FormatAngkaInput(TextBoxJumlahTransaksi.Text).ToString(); } if (TotalTransfer > 0) { LabelIDTransaksi.Text = Transaksi.ConfirmTransaksi(db); db.SubmitChanges(); } } if (TotalTransfer > 0) { PesanTransaksi += "<br/><h5><b>Total : " + TotalTransfer + "</b></h5>"; LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Success, "Produk berhasil disimpan" + PesanTransaksi); } if (StokKurang) { LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Danger, "Stok tidak cukup, silahkan cek kembali"); } } catch (Exception ex) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message); LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery); } }
private void LoadDataStokProduk() { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var DataStokProduk = db.TBStokProduks .Where(item => item.TBKombinasiProduk.TBProduk._IsActive && item.IDTempat == Pengguna.IDTempat) .Select(item => new { IDStokProduk = item.IDStokProduk, IDKombinasiProduk = item.IDKombinasiProduk, Kode = item.TBKombinasiProduk.KodeKombinasiProduk, RelasiKategoriProduk = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, item, null), IDPemilikProduk = item.TBKombinasiProduk.TBProduk.IDPemilikProduk, PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama, IDAtributProduk = item.TBKombinasiProduk.IDAtributProduk, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, IDProduk = item.TBKombinasiProduk.IDProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, Jumlah = item.Jumlah, HargaBeli = item.HargaBeli, HargaJual = item.HargaJual }).ToArray(); if (DropDownListJenisStok.SelectedValue == "1") { DataStokProduk = DataStokProduk.Where(item => item.Jumlah > 0).ToArray(); } else if (DropDownListJenisStok.SelectedValue == "2") { DataStokProduk = DataStokProduk.Where(item => item.Jumlah == 0).ToArray(); } else if (DropDownListJenisStok.SelectedValue == "3") { DataStokProduk = DataStokProduk.Where(item => item.Jumlah < 0).ToArray(); } if (!string.IsNullOrWhiteSpace(TextBoxCariKode.Text)) { DataStokProduk = DataStokProduk.Where(item => item.Kode.ToLower().Contains(TextBoxCariKode.Text.ToLower())).ToArray(); TextBoxCariKode.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxCariProduk.Text)) { DataStokProduk = DataStokProduk.Where(item => item.Produk.ToLower().Contains(TextBoxCariProduk.Text.ToLower())).ToArray(); TextBoxCariProduk.Focus(); } if (DropDownListCariKategori.SelectedValue != "0") { DataStokProduk = DataStokProduk.Where(item => item.Kategori == DropDownListCariKategori.SelectedItem.Text).ToArray(); DropDownListCariKategori.Focus(); } if (DropDownListCariPemilik.SelectedValue != "0") { DataStokProduk = DataStokProduk.Where(item => item.PemilikProduk == DropDownListCariPemilik.SelectedItem.Text).ToArray(); DropDownListCariPemilik.Focus(); } RepeaterStokKombinasiProduk.DataSource = DataStokProduk; RepeaterStokKombinasiProduk.DataBind(); if (DataStokProduk.Count() > 0) { LabelTotalJumlahStok.Text = Pengaturan.FormatHarga(DataStokProduk.Sum(item => item.Jumlah)); } else { LabelTotalJumlahStok.Text = "0"; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { #region Default AtributProduk_Class ClassAtributProduk = new AtributProduk_Class(db); KategoriProduk_Class KategoriProduk_Class = new KategoriProduk_Class(); PemilikProduk_Class ClassPemilikProduk = new PemilikProduk_Class(db); DropDownListJenisStok.Items.Insert(0, new ListItem { Value = "0", Text = "Semua" }); DropDownListJenisStok.Items.Insert(1, new ListItem { Value = "1", Text = "Ada Stok", Selected = true }); DropDownListJenisStok.Items.Insert(2, new ListItem { Value = "2", Text = "Tidak Ada Stok" }); DropDownListJenisStok.Items.Insert(3, new ListItem { Value = "3", Text = "Minus" }); DropDownListCariAtributProduk.Items.AddRange(ClassAtributProduk.Dropdownlist()); DropDownListCariKategori.Items.AddRange(KategoriProduk_Class.Dropdownlist(db)); DropDownListCariPemilik.Items.AddRange(ClassPemilikProduk.Dropdownlist()); #endregion PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; ////MENAMPILKAN MESSAGE LiteralWarning.Text = ""; var DataTransaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == Request.QueryString["id"]); if (DataTransaksi != null) { //DATA TRANSAKSI DITEMUKAN if (DataTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete || DataTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled) { //TRANSAKSI COMPLETE ATAU CANCELED COPY KE TRANSAKSI BARU var Transaksi = new Transaksi_Model(Pengguna.IDPengguna, Pengguna.IDTempat, DateTime.Now); Transaksi.IDJenisTransaksi = (int)EnumJenisTransaksi.Wholesale; //WHOLESALE Dictionary <int, int> ListStokProdukHabis = new Dictionary <int, int>(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); int TotalTransfer = 0; string PesanTransaksi = ""; //COPY DETAIL TRANSAKSI LAMA KE DETAIL TRANSAKSI BARU foreach (var item in DataTransaksi.TBTransaksiDetails.ToArray()) { //PENCARIAN STOK PRODUK var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, item.IDKombinasiProduk); if (item.Quantity <= StokProduk.Jumlah) { //JIKA JUMLAH YANG AKAN DI TRANSAKSI LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK Transaksi.TambahDetailTransaksi(item.IDKombinasiProduk, item.Quantity); //MESSAGE TRANSFER YANG BERHASIL TotalTransfer += item.Quantity; PesanTransaksi += "<br/>" + Pengaturan.FormatHarga(item.Quantity) + " - " + item.TBKombinasiProduk.Nama; } else //MENCATAT STOK PRODUK YANG HABIS { ListStokProdukHabis.Add(StokProduk.IDKombinasiProduk, item.Quantity); } } if (TotalTransfer > 0) { Transaksi.Keterangan = "Referensi Transaksi #" + DataTransaksi.IDTransaksi + " - " + DataTransaksi.Keterangan; LabelIDTransaksi.Text = Transaksi.ConfirmTransaksi(db); db.SubmitChanges(); LoadDataTransaksiDetail(); PesanTransaksi += "<br/><h5><b>Total : " + TotalTransfer + "</b></h5>"; LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Success, "Produk berhasil disimpan" + PesanTransaksi); } if (ListStokProdukHabis.Count > 0) { DropDownListJenisStok.SelectedValue = "2"; #region MENAMPILKAN STOK APA SAJA YANG HABIS var DataStokProduk = db.TBStokProduks .AsEnumerable() .Where(item => item.IDTempat == Pengguna.IDTempat && ListStokProdukHabis.ContainsKey(item.IDKombinasiProduk)) .Select(item => new { IDStokProduk = item.IDStokProduk, IDKombinasiProduk = item.IDKombinasiProduk, Kode = item.TBKombinasiProduk.KodeKombinasiProduk, RelasiKategoriProduk = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks, Kategori = StokProduk_Class.GabungkanSemuaKategoriProduk(db, item, null), IDPemilikProduk = item.TBKombinasiProduk.TBProduk.IDPemilikProduk, PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama, IDAtributProduk = item.TBKombinasiProduk.IDAtributProduk, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, IDProduk = item.TBKombinasiProduk.IDProduk, Produk = item.TBKombinasiProduk.TBProduk.Nama, Jumlah = item.Jumlah, HargaBeli = item.HargaBeli, HargaJual = item.HargaJual }).ToArray(); RepeaterStokKombinasiProduk.DataSource = DataStokProduk; RepeaterStokKombinasiProduk.DataBind(); if (DataStokProduk.Count() > 0) { LabelTotalJumlahStok.Text = Pengaturan.FormatHarga(DataStokProduk.Sum(item => item.Jumlah)); } else { LabelTotalJumlahStok.Text = "0"; } #endregion #region MENGISI TEXTBOX DENGAN JUMLAH PERMINTAAN foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items) { Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxJumlahTransaksi = (TextBox)item.FindControl("TextBoxJumlahTransaksi"); HtmlTableRow PanelStok = (HtmlTableRow)item.FindControl("PanelStok"); if (ListStokProdukHabis.ContainsKey(LabelIDKombinasiProduk.Text.ToInt())) { TextBoxJumlahTransaksi.Text = Pengaturan.FormatHarga(ListStokProdukHabis[LabelIDKombinasiProduk.Text.ToInt()]); PanelStok.Attributes.Add("class", "danger"); } } #endregion LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Danger, "Stok tidak cukup, silahkan cek kembali"); MultiViewTransaksi.ActiveViewIndex = 0; } else { //JIKA STOK PRODUK TIDAK HABIS LoadDataStokProduk(); MultiViewTransaksi.ActiveViewIndex = 1; } } else { //STATUS TRANSAKSI SELAIN COMPLETE DAN CANCELED LabelIDTransaksi.Text = DataTransaksi.IDTransaksi; LoadDataTransaksiDetail(); MultiViewTransaksi.ActiveViewIndex = 1; } } else { //TRANSAKSI TIDAK DITEMUKAN MultiViewTransaksi.ActiveViewIndex = 0; LoadDataStokProduk(); } } } else { LiteralWarning.Text = ""; } }