protected void ButtonSimpanBahanBaku_Click(object sender, EventArgs e) { if (Page.IsValid) { if (Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text) > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <StokBahanBaku_Model> komposisiProduk = (List <StokBahanBaku_Model>)ViewState["KomposisiProduk"]; List <JenisBiayaProduksi_Model> biayaProduksi = (List <JenisBiayaProduksi_Model>)ViewState["BiayaProduksi"]; var komposisi = komposisiProduk.FirstOrDefault(item => item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue)); if (komposisi == null) { TBStokBahanBaku stokBahanBaku = db.TBStokBahanBakus.FirstOrDefault(item => item.IDTempat == pengguna.IDTempat && item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue)); StokBahanBaku_Model StokBahanBaku_Model = new StokBahanBaku_Model { IDBahanBaku = stokBahanBaku.IDBahanBaku.Value, BahanBaku = stokBahanBaku.TBBahanBaku.Nama, IDSatuan = stokBahanBaku.TBBahanBaku.IDSatuan, Jumlah = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text), Satuan = stokBahanBaku.TBBahanBaku.TBSatuan.Nama, HargaBeli = stokBahanBaku.HargaBeli.Value, Komposisi = db.TBBahanBakus.FirstOrDefault(item => item.IDBahanBaku == Parse.Int(DropDownListBahanBaku.SelectedValue)).TBKomposisiBahanBakus.Select(item => new KomposisiBahanBaku_Model { BahanBaku = item.TBBahanBaku1.Nama, JumlahPemakaian = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text) * item.Jumlah.Value, Satuan = item.TBBahanBaku1.TBSatuan.Nama }).OrderBy(item => item.BahanBaku).ToList() }; komposisiProduk.Add(StokBahanBaku_Model); } else { komposisi.Jumlah = Pengaturan.FormatAngkaInput(TextBoxJumlahBahanBaku.Text); } LoadKomposisiProduk(komposisiProduk, biayaProduksi); LoadBiayaProduksi(komposisiProduk, biayaProduksi); ViewState["KomposisiProduk"] = komposisiProduk; ViewState["BiayaProduksi"] = biayaProduksi; } } } CollapseBiayaProduksi.Attributes.Add("class", "collapse"); CollapseKomposisiProduk.Attributes.Add("class", "collapse in"); TextBoxJumlahBahanBaku.Text = string.Empty; TextBoxJumlahBahanBaku.Focus(); }
protected void ButtonSimpan_Click(object sender, EventArgs e) { if (ButtonSimpan.Text == "Tambah") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { Pelanggan_Class ClassPelanggan = new Pelanggan_Class(db); PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; var Pelanggan = ClassPelanggan.Tambah(1, Pengguna.IDPengguna, TextBoxNama.Text, "", "", "", TextBoxPhone.Text, "", DateTime.Now, 0, "", true); db.TBWaitingLists.InsertOnSubmit(new TBWaitingList { IDPengguna = Pengguna.IDPengguna, TanggalPencatatan = DateTime.Now, TBPelanggan = Pelanggan, IDMeja = Parse.Int(DropDownListMeja.SelectedValue), JumlahTamu = (int)Pengaturan.FormatAngkaInput(TextBoxPax.Text), TanggalMasuk = Parse.dateTime(TextBoxTanggal.Text), Keterangan = TextBoxKeterangan.Text, EnumStatusReservasi = (int)PilihanWaitingList.Pending }); db.SubmitChanges(); } } else if (ButtonSimpan.Text == "Ubah") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var WaitingList = db.TBWaitingLists.FirstOrDefault(item => item.IDWaitingList == Parse.Int(HiddenFieldIDWaitingList.Value)); if (WaitingList != null) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; WaitingList.IDPengguna = Pengguna.IDPengguna; WaitingList.TanggalPencatatan = DateTime.Now; WaitingList.TBPelanggan.NamaLengkap = TextBoxNama.Text; WaitingList.TBPelanggan.Handphone = TextBoxPhone.Text; WaitingList.IDMeja = int.Parse(DropDownListMeja.SelectedValue); WaitingList.JumlahTamu = (int)Pengaturan.FormatAngkaInput(TextBoxPax.Text); WaitingList.TanggalMasuk = Parse.dateTime(TextBoxTanggal.Text); WaitingList.Keterangan = TextBoxKeterangan.Text; db.SubmitChanges(); } } } Reset(); MultiViewWaitingList.ActiveViewIndex = 0; LoadData(PilihanWaitingList.Pending); }
protected void CustomValidatorBiayaProduksi_ServerValidate(object source, ServerValidateEventArgs args) { if (Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text) == 0) { args.IsValid = false; CustomValidatorBiayaProduksi.Text = "Jumlah tidak boleh 0"; } else { args.IsValid = true; CustomValidatorBiayaProduksi.Text = "-"; } }
protected void ButtonSimpanProduk_Click(object sender, EventArgs e) { if (Page.IsValid) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string informasi = string.Empty; bool pemilikProdukValid = true; bool warnaValid = true; bool atributProdukValid = true; bool kodevalid = true; bool produkValid = true; TBPemilikProduk pemilikProduk = null; TBWarna warna = null; TBAtributProduk atributProduk = null; #region Brand if (DropDownListBrand.SelectedValue == "0") { if (db.TBPemilikProduks.FirstOrDefault(item => item.Nama.ToLower() == TextBoxBrand.Text.ToLower()) == null) { pemilikProduk = new TBPemilikProduk { Nama = TextBoxBrand.Text }; db.TBPemilikProduks.InsertOnSubmit(pemilikProduk); } else { pemilikProdukValid = false; informasi += "<br/>Brand sudah ada"; } } else { pemilikProduk = db.TBPemilikProduks.FirstOrDefault(item => item.IDPemilikProduk == Parse.Int(DropDownListBrand.SelectedValue)); } #endregion #region Warna if (DropDownListWarna.SelectedValue == "0") { if (db.TBWarnas.FirstOrDefault(item => item.Nama.ToLower() == TextBoxWarna.Text.ToLower()) == null) { warna = new TBWarna { Nama = TextBoxWarna.Text }; db.TBWarnas.InsertOnSubmit(warna); } else { warnaValid = false; informasi += "<br/>Warna sudah ada"; } } else { warna = db.TBWarnas.FirstOrDefault(item => item.IDWarna == Parse.Int(DropDownListWarna.SelectedValue)); } #endregion #region Varian if (DropDownListVarian.SelectedValue == "0") { if (db.TBAtributProduks.FirstOrDefault(item => item.Nama.ToLower() == TextBoxVarian.Text.ToLower()) == null) { atributProduk = new TBAtributProduk { Nama = TextBoxVarian.Text }; db.TBAtributProduks.InsertOnSubmit(atributProduk); } else { atributProdukValid = false; informasi += "<br/>Varian sudah ada"; } } else if (Parse.Int(DropDownListVarian.SelectedValue) > 0) { atributProduk = db.TBAtributProduks.FirstOrDefault(item => item.IDAtributProduk == Parse.Int(DropDownListVarian.SelectedValue)); } #endregion #region Kode if (db.TBKombinasiProduks.FirstOrDefault(item => item.KodeKombinasiProduk.ToLower() == TextBoxKode.Text.ToLower()) != null) { kodevalid = false; informasi += "<br/>Kode Produk sudah dipakai"; } #endregion #region Produk if (db.TBProduks.FirstOrDefault(item => item.Nama.ToLower() == TextBoxNamaProduk.Text.ToLower()) == null) { string namaKombinasiProduk; if (atributProduk == null) { namaKombinasiProduk = TextBoxNamaProduk.Text; } else { namaKombinasiProduk = TextBoxNamaProduk.Text + " (" + atributProduk.Nama + ")"; } TBProduk produk = new TBProduk { TBWarna = warna, TBPemilikProduk = pemilikProduk, Nama = TextBoxNamaProduk.Text, _IsActive = true }; db.TBProduks.InsertOnSubmit(produk); TBKombinasiProduk kombinasiProduk = new TBKombinasiProduk { TBProduk = produk, TBAtributProduk = atributProduk, TanggalDaftar = DateTime.Now, KodeKombinasiProduk = TextBoxKode.Text, Nama = namaKombinasiProduk, Deskripsi = TextBoxKeterangan.Text }; db.TBKombinasiProduks.InsertOnSubmit(kombinasiProduk); db.TBStokProduks.InsertOnSubmit(new TBStokProduk { IDTempat = pengguna.IDTempat, TBKombinasiProduk = kombinasiProduk, HargaBeli = Pengaturan.FormatAngkaInput(TextBoxHargaPokokProduksi.Text), HargaJual = Pengaturan.FormatAngkaInput(TextBoxHargaJual.Text), PersentaseKonsinyasi = 0, Jumlah = 0, JumlahMinimum = 0, }); foreach (ListItem item in CheckBoxListKategori.Items) { if (item.Selected) { db.TBRelasiProdukKategoriProduks.InsertOnSubmit(new TBRelasiProdukKategoriProduk { TBKategoriProduk = db.TBKategoriProduks.FirstOrDefault(data => data.IDKategoriProduk == Parse.Int(item.Value)), TBProduk = produk }); } } #region Komposisi Produk List <StokBahanBaku_Model> komposisiProduk = (List <StokBahanBaku_Model>)ViewState["KomposisiProduk"]; db.TBKomposisiKombinasiProduks.InsertAllOnSubmit(komposisiProduk.Select(item => new TBKomposisiKombinasiProduk { TBKombinasiProduk = kombinasiProduk, IDBahanBaku = item.IDBahanBaku, Jumlah = item.Jumlah, Keterangan = null })); #endregion #region Jenis Biaya Produksi List <JenisBiayaProduksi_Model> biayaProduksi = (List <JenisBiayaProduksi_Model>)ViewState["BiayaProduksi"]; db.TBRelasiJenisBiayaProduksiKombinasiProduks.InsertAllOnSubmit(biayaProduksi.Select(item => new TBRelasiJenisBiayaProduksiKombinasiProduk { TBKombinasiProduk = kombinasiProduk, TBJenisBiayaProduksi = cariJenisBiayaProduksi(db, item.IDJenisBiayaProduksi, item.Nama), EnumBiayaProduksi = item.EnumBiayaProduksi, Persentase = item.Persentase, Nominal = item.Nominal })); #endregion } else { produkValid = false; informasi += "<br/>Produk sudah ada"; } #endregion if (pemilikProdukValid == true && warnaValid == true && atributProdukValid == true && kodevalid == true && produkValid == true) { db.SubmitChanges(); Response.Redirect("ProyeksiProduk.aspx?status=true"); } else { LiteralInformasi.Text = "<div class=\"alert alert-danger\" role=\"alert\"><strong>Terjadi Kesalahan.</strong>" + informasi + "</div>"; } } } CollapseBiayaProduksi.Attributes.Add("class", "collapse"); CollapseKomposisiProduk.Attributes.Add("class", "collapse"); }
protected void ButtonSimpanBiayaProduksi_Click(object sender, EventArgs e) { if (Page.IsValid) { if (Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text) > 0) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <StokBahanBaku_Model> komposisiProduk = (List <StokBahanBaku_Model>)ViewState["KomposisiProduk"]; decimal hargaPokokKomposisi = komposisiProduk.Sum(item => item.SubtotalHargaBeli); List <JenisBiayaProduksi_Model> biayaProduksi = (List <JenisBiayaProduksi_Model>)ViewState["BiayaProduksi"]; var biaya = biayaProduksi.FirstOrDefault(item => item.Nama == TextBoxNamaJenisBiayaProduksi.Text); if (biaya == null) { TBJenisBiayaProduksi jenisBiayaProduksi = null; if (DropDownListJenisBiayaProduksi.SelectedValue == "0") { DropDownListJenisBiayaProduksi.Items.Insert(DropDownListJenisBiayaProduksi.Items.Count, new ListItem { Text = TextBoxNamaJenisBiayaProduksi.Text, Value = TextBoxNamaJenisBiayaProduksi.Text }); } else { jenisBiayaProduksi = db.TBJenisBiayaProduksis.FirstOrDefault(item => item.Nama == DropDownListJenisBiayaProduksi.SelectedItem.Text); } JenisBiayaProduksi_Model JenisBiayaProduksi_Model = new JenisBiayaProduksi_Model { IDJenisBiayaProduksi = jenisBiayaProduksi == null ? 0 : jenisBiayaProduksi.IDJenisBiayaProduksi, Nama = jenisBiayaProduksi == null ? TextBoxNamaJenisBiayaProduksi.Text : jenisBiayaProduksi.Nama, EnumBiayaProduksi = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? (int)PilihanBiayaProduksi.Persen : (int)PilihanBiayaProduksi.Harga, Persentase = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? (Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text) / 100) : 0, Nominal = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? 0 : Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text) }; biayaProduksi.Add(JenisBiayaProduksi_Model); } else { biaya.EnumBiayaProduksi = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? (int)PilihanBiayaProduksi.Persen : (int)PilihanBiayaProduksi.Harga; biaya.Persentase = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? (Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text) / 100) : 0; biaya.Nominal = RadioButtonListEnumBiayaProduksi.SelectedValue == "Persentase" ? 0 : Pengaturan.FormatAngkaInput(TextBoxBiayaProduksi.Text); } LoadKomposisiProduk(komposisiProduk, biayaProduksi); LoadBiayaProduksi(komposisiProduk, biayaProduksi); ViewState["KomposisiProduk"] = komposisiProduk; ViewState["BiayaProduksi"] = biayaProduksi; } } } CollapseBiayaProduksi.Attributes.Add("class", "collapse in"); CollapseKomposisiProduk.Attributes.Add("class", "collapse"); TextBoxBiayaProduksi.Text = string.Empty; TextBoxBiayaProduksi.Focus(); }
private void LoadDataTransaksi() { Transaksi_Class Transaksi = (Transaksi_Class)ViewState["Transaksi"]; decimal Persentase = 0; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { GrupPelanggan_Class GrupPelanggan_Class = new GrupPelanggan_Class(db); var PelangganGrup = GrupPelanggan_Class.Cari(db, Parse.Int(DropDownListGrupPelanggan.SelectedValue)); Persentase = PelangganGrup.Persentase.Value; } //RESET DETAIL TRANSAKSI Transaksi.Detail.Clear(); foreach (RepeaterItem item in RepeaterKombinasiProduk.Items) { HiddenField HiddenFieldIDKombinasiProduk = (HiddenField)item.FindControl("HiddenFieldIDKombinasiProduk"); TextBox TextBoxJumlahProduk = (TextBox)item.FindControl("TextBoxJumlahProduk"); TextBox TextBoxHarga = (TextBox)item.FindControl("TextBoxHarga"); TextBox TextBoxDiscount = (TextBox)item.FindControl("TextBoxDiscount"); TextBox TextBoxSubtotal = (TextBox)item.FindControl("TextBoxSubtotal"); if (!string.IsNullOrWhiteSpace(TextBoxJumlahProduk.Text) && Pengaturan.FormatAngkaInput(TextBoxJumlahProduk.Text) > 0) { int idTransaksiDetail = Transaksi.TambahDetailTransaksi(Parse.Int(HiddenFieldIDKombinasiProduk.Value), (int)Pengaturan.FormatAngkaInput(TextBoxJumlahProduk.Text)); if (!string.IsNullOrWhiteSpace(TextBoxDiscount.Text)) { Transaksi.UbahPotonganHargaJualProduk(idTransaksiDetail, TextBoxDiscount.Text); } Transaksi.UbahPotonganHargaJualProduk(idTransaksiDetail, Pengaturan.FormatHarga(Persentase) + "%"); var TransaksiDetail = Transaksi.Detail.FirstOrDefault(item2 => item2.IDDetailTransaksi == idTransaksiDetail); TextBoxDiscount.Text = Pengaturan.FormatHarga(TransaksiDetail.Discount); TextBoxSubtotal.Text = Pengaturan.FormatHarga(TransaksiDetail.Subtotal); } else { TextBoxDiscount.Text = ""; TextBoxSubtotal.Text = ""; } } if (DateTime.Now.Date == Parse.dateTime(TextBoxTanggal.Text).Date) { Transaksi.TanggalTransaksi = DateTime.Now; } else { Transaksi.TanggalTransaksi = Parse.dateTime(TextBoxTanggal.Text); } Transaksi.BiayaPengiriman = Pengaturan.FormatAngkaInput(TextBoxBiayaPengiriman.Text); TextBoxBiayaPengiriman.Text = Transaksi.BiayaPengiriman.ToString(); LabelSubtotal.Text = Pengaturan.FormatHarga(Transaksi.Subtotal); LabelDiscount.Text = Pengaturan.FormatHarga(Transaksi.PotonganTransaksi + Transaksi.TotalPotonganHargaJualDetail + Transaksi.TotalDiscountVoucher); LabelGrandTotal.Text = Pengaturan.FormatHarga(Transaksi.GrandTotal); }
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); } }