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 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 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 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 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); } }
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"); } } }
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"); } } } }
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); } }
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 = ""; } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { try { if (DropDownListTempatPenerima.Items.Count == 0) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Anda harus membuat lokasi tujuan transfer. <a href='/WITAdministrator/Store/Tempat/Pengaturan.aspx'>Buat lokasi baru</a>"); return; } bool StokKurang = false; string TransferBerhasil = string.Empty; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; StokProduk_Class StokProduk_Class = new StokProduk_Class(db); TBTransferProduk DataTransferProduk; if (string.IsNullOrWhiteSpace(LabelIDTransferProduk.Text)) { #region MEMBUAT TRANSFER PRODUK BARU TransferProduk_Class TransferProduk = new TransferProduk_Class(); DataTransferProduk = TransferProduk.Tambah(db, Pengguna.IDPengguna, DropDownListTempatPengirim.SelectedValue.ToInt(), DropDownListTempatPenerima.SelectedValue.ToInt(), TextBoxKeterangan.Text); LabelIDTransferProduk.Text = DataTransferProduk.IDTransferProduk; #endregion } else { DataTransferProduk = db.TBTransferProduks.FirstOrDefault(item2 => item2.IDTransferProduk == LabelIDTransferProduk.Text); } foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items) { Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); Label LabelJumlah = (Label)item.FindControl("LabelJumlah"); TextBox TextBoxJumlahTransfer = (TextBox)item.FindControl("TextBoxJumlahTransfer"); HtmlTableRow panelStok = (HtmlTableRow)item.FindControl("panelStok"); if (TextBoxJumlahTransfer.Text.ToDecimal().ToInt() > 0) { //JIKA JUMLAH TRANSFER VALID TIDAK NULL DAN TIDAK 0 int JumlahTransfer = TextBoxJumlahTransfer.Text.ToDecimal().ToInt(); //PENCARIAN STOK PRODUK var StokProduk = StokProduk_Class.Cari(DropDownListTempatPengirim.SelectedValue.ToInt(), LabelIDKombinasiProduk.Text.ToInt()); if (JumlahTransfer <= StokProduk.Jumlah) { //JIKA JUMLAH YANG AKAN DI TRANSFER LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK StokProduk_Class.BertambahBerkurang(DropDownListTempatPengirim.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, JumlahTransfer, StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TransferStokKeluar, "Transfer #" + LabelIDTransferProduk.Text); //PENGECEKAN APAKAH SUDAH ADA DI DETAIL var TransferProdukDetail = DataTransferProduk.TBTransferProdukDetails .FirstOrDefault(item2 => item2.IDKombinasiProduk == StokProduk.IDKombinasiProduk); if (TransferProdukDetail == null) //DETAIL TRANSFER PRODUK TIDAK DITEMUKAN MEMBUAT BARU { DataTransferProduk.TBTransferProdukDetails.Add(new TBTransferProdukDetail { IDKombinasiProduk = StokProduk.IDKombinasiProduk, HargaBeli = StokProduk.HargaBeli.Value, HargaJual = StokProduk.HargaJual.Value, Jumlah = JumlahTransfer }); } else //JIKA SUDAH TERDAPAT DI DETAIL HANYA MENAMBAHKAN QTY { TransferProdukDetail.Jumlah += JumlahTransfer; } //MENGKOSONGKAN TEXTBOX - LABEL JUMLAH DIISI DENGAN JUMLAH STOK TERBARU TextBoxJumlahTransfer.Text = string.Empty; panelStok.Attributes.Add("class", ""); LabelJumlah.Text = (LabelJumlah.Text.ToDecimal().ToInt() - JumlahTransfer).ToFormatHargaBulat(); LabelTotalJumlahStok.Text = (LabelTotalJumlahStok.Text.ToDecimal().ToInt() - JumlahTransfer).ToFormatHargaBulat(); TransferBerhasil += "<br/>" + JumlahTransfer.ToFormatHargaBulat() + " - " + StokProduk.TBKombinasiProduk.Nama; //MESSAGE TRANSFER YANG BERHASIL } else { //REFRESH LABEL JUMLAH STOK LabelTotalJumlahStok.Text = (LabelTotalJumlahStok.Text.ToDecimal().ToInt() - (LabelJumlah.Text.ToDecimal().ToInt() - StokProduk.Jumlah.Value)).ToFormatHargaBulat(); LabelJumlah.Text = StokProduk.Jumlah.ToFormatHargaBulat(); panelStok.Attributes.Add("class", "danger"); StokKurang = true; } } //HANDLE POSTBACK FORMAT HARGA TextBoxJumlahTransfer.Text = TextBoxJumlahTransfer.Text.ToDecimal().ToInt() == 0 ? "" : TextBoxJumlahTransfer.Text.ToDecimal().ToInt().ToString(); } //UPDATE DATA TRANSFER PRODUK DataTransferProduk.TanggalUpdate = DateTime.Now; DataTransferProduk.TotalJumlah = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah); DataTransferProduk.GrandTotalHargaBeli = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli); DataTransferProduk.GrandTotalHargaJual = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual); db.SubmitChanges(); } //MENAMPILKAN MESSAGE LiteralWarning.Text = string.Empty; if (!string.IsNullOrWhiteSpace(TransferBerhasil)) { LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Success, "Produk berhasil disimpan" + TransferBerhasil); } 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); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { Tempat_Class ClassTempat = new Tempat_Class(db); AtributProduk_Class ClassAtributProduk = new AtributProduk_Class(db); #region Default 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.DataSource = ClassAtributProduk.Data(); DropDownListCariAtributProduk.DataTextField = "Nama"; DropDownListCariAtributProduk.DataValueField = "IDAtributProduk"; DropDownListCariAtributProduk.DataBind(); DropDownListCariAtributProduk.Items.Insert(0, new ListItem { Value = "0", Text = "- Semua -" }); DropDownListCariKategori.DataSource = db.TBKategoriProduks.ToArray(); DropDownListCariKategori.DataTextField = "Nama"; DropDownListCariKategori.DataValueField = "IDKategoriProduk"; DropDownListCariKategori.DataBind(); DropDownListCariKategori.Items.Insert(0, new ListItem { Value = "0", Text = "- Semua -" }); var ListTempat = ClassTempat.Data(); DropDownListTempatPengirim.DataSource = ListTempat; DropDownListTempatPengirim.DataTextField = "Nama"; DropDownListTempatPengirim.DataValueField = "IDTempat"; DropDownListTempatPengirim.DataBind(); DropDownListTempatPengirim.Items.Insert(0, new ListItem { Text = "- Lokasi -", Value = "0" }); DropDownListTempatPengirim.SelectedValue = Pengguna.IDTempat.ToString(); DropDownListTempatPenerima.DataSource = ListTempat.Where(item => item.IDTempat != Pengguna.IDTempat); DropDownListTempatPenerima.DataTextField = "Nama"; DropDownListTempatPenerima.DataValueField = "IDTempat"; DropDownListTempatPenerima.DataBind(); TextBoxTanggalKirim.Text = DateTime.Now.ToString("d MMMM yyyy HH:mm"); #endregion var DataTransferProduk = db.TBTransferProduks .FirstOrDefault(item => item.IDTransferProduk == Request.QueryString["id"]); if (DataTransferProduk != null) { //DATA TRANSFER PRODUK DITEMUKAN if (DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferBatal || DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferProses || DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferSelesai) { //TRANSFER BATAL MAKA COPY TRANSFER PRODUK LAMA KE TRANSFER PRODUK BARU TextBoxTanggalKirim.Text = DateTime.Now.ToString("d MMMM yyyy HH:mm"); DropDownListTempatPenerima.SelectedValue = DataTransferProduk.IDTempatPenerima.ToString(); TextBoxKeterangan.Text = "Referensi Transfer #" + DataTransferProduk.IDTransferProduk + " - " + DataTransferProduk.Keterangan; #region MEMBUAT TRANSFER PRODUK BARU TransferProduk_Class TransferProduk = new TransferProduk_Class(); var TransferProdukBaru = TransferProduk.Tambah(db, Pengguna.IDPengguna, DropDownListTempatPengirim.SelectedValue.ToInt(), DropDownListTempatPenerima.SelectedValue.ToInt(), TextBoxKeterangan.Text); LabelIDTransferProduk.Text = TransferProdukBaru.IDTransferProduk; #endregion Dictionary <int, int> ListStokProdukHabis = new Dictionary <int, int>(); StokProduk_Class StokProduk_Class = new StokProduk_Class(db); //COPY DETAIL TRANSFER LAMA KE DETAIL TRANSFER BARU foreach (var item in DataTransferProduk.TBTransferProdukDetails.ToArray()) { //PENCARIAN STOK PRODUK var StokProduk = StokProduk_Class.Cari(DropDownListTempatPengirim.SelectedValue.ToInt(), item.IDKombinasiProduk); if (item.Jumlah <= StokProduk.Jumlah) { //JIKA JUMLAH PERMINTAAN LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK StokProduk_Class.BertambahBerkurang(DropDownListTempatPengirim.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, item.Jumlah, StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TransferStokKeluar, "Transfer #" + LabelIDTransferProduk.Text); //MENAMBAHKAN DI DETAIL TRANSFER TransferProdukBaru.TBTransferProdukDetails.Add(new TBTransferProdukDetail { //IDTRANSFERPRODUKDETAIL //IDTRANSFERPRODUK IDKombinasiProduk = item.IDKombinasiProduk, HargaBeli = StokProduk.HargaBeli.Value, HargaJual = StokProduk.HargaJual.Value, Jumlah = item.Jumlah //SUBTOTALHARGABELI //SUBTOTALHARGAJUAL }); } else //MENCATAT STOK PRODUK YANG HABIS { ListStokProdukHabis.Add(StokProduk.IDKombinasiProduk, item.Jumlah); } } //UPDATE DATA TRANSFERPRODUK TransferProdukBaru.TanggalUpdate = DateTime.Now; TransferProdukBaru.TotalJumlah = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah); TransferProdukBaru.GrandTotalHargaBeli = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli); TransferProdukBaru.GrandTotalHargaJual = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual); db.SubmitChanges(); LoadDataTransferProduk(); //RESET LITERAL WARNING LiteralWarning.Text = ""; if (ListStokProdukHabis.Count > 0) { #region LIST STOK HABIS ADA MAKA 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, Kode = item.TBKombinasiProduk.KodeKombinasiProduk, IDAtribut = item.TBKombinasiProduk.IDAtributProduk, Atribut = item.TBKombinasiProduk.TBAtributProduk.Nama, IDKategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().IDKategoriProduk : 0, Kategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "", IDPemilikProduk = item.TBKombinasiProduk.TBProduk.IDPemilikProduk, PemilikProduk = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama, IDWarna = item.TBKombinasiProduk.TBProduk.IDWarna, Warna = item.TBKombinasiProduk.TBProduk.TBWarna.Nama, IDKombinasiProduk = item.IDKombinasiProduk, KombinasiProduk = item.TBKombinasiProduk.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 = DataStokProduk.Sum(item => item.Jumlah).ToFormatHargaBulat(); } else { LabelTotalJumlahStok.Text = "0"; } #endregion #region MENGISI TEXTBOX DENGAN JUMLAH PERMINTAAN foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items) { Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxJumlahTransfer = (TextBox)item.FindControl("TextBoxJumlahTransfer"); HtmlTableRow panelStok = (HtmlTableRow)item.FindControl("panelStok"); if (ListStokProdukHabis.ContainsKey(LabelIDKombinasiProduk.Text.ToInt())) { TextBoxJumlahTransfer.Text = ListStokProdukHabis[LabelIDKombinasiProduk.Text.ToInt()].ToFormatHargaBulat(); panelStok.Attributes.Add("class", "danger"); } } #endregion LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Stok tidak cukup, silahkan cek kembali"); MultiViewTransferProduk.ActiveViewIndex = 0; } else { //JIKA STOK PRODUK TIDAK HABIS LoadDataStokProduk(); MultiViewTransferProduk.ActiveViewIndex = 1; } } else { //TRANSFER PRODUK : PENDING LabelIDTransferProduk.Text = DataTransferProduk.IDTransferProduk; LoadDataTransferProduk(); MultiViewTransferProduk.ActiveViewIndex = 1; } } else { //TRANSFER PRODUK TIDAK DITEMUKAN MEMBUAT TRANSFER BARU MultiViewTransferProduk.ActiveViewIndex = 0; LoadDataStokProduk(); } } } else { LiteralWarning.Text = ""; } }