private void BatalTransaksi() { try { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model Transaksi = new Transaksi_Model(HiddenFieldIDTransaksi.Value, Pengguna.IDPengguna); Transaksi.IDStatusTransaksi = (int)EnumStatusTransaksi.Canceled; Transaksi.ConfirmTransaksi(); if (Pengguna.PointOfSales == TipePointOfSales.Restaurant) { //PENGURANGAN BAHAN BAKU StokBahanBaku_Class.ProduksiByTransaksiBatal(Transaksi.IDPenggunaTransaksi, Transaksi.IDTempat, HiddenFieldIDTransaksi.Value); } LoadData(); HiddenFieldIDTransaksi.Value = null; } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery); } }
protected void RepeaterMeja_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Pilih") { if (!string.IsNullOrWhiteSpace(HiddenFieldPerintah.Value)) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var Transaksi = db.TBTransaksis .FirstOrDefault(item => item.IDMeja == Parse.Int(e.CommandArgument.ToString()) && item.IDStatusTransaksi == 2); if (Transaksi != null) { PengaturanTransaksi(db, Transaksi); } else if (HiddenFieldPerintah.Value == "Transfer Item") { if (!string.IsNullOrWhiteSpace(HiddenFieldTransaksiAwal.Value)) { Response.Redirect("Transfer.aspx?id=" + HiddenFieldTransaksiAwal.Value + "&table=" + e.CommandArgument.ToString()); } } else if (HiddenFieldPerintah.Value == "Pindah Meja" && !string.IsNullOrWhiteSpace(HiddenFieldTransaksiAwal.Value)) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model TransaksiAwal = new Transaksi_Model(HiddenFieldTransaksiAwal.Value, Pengguna.IDPengguna); var MejaTransaksi = db.TBMejas.FirstOrDefault(item => item.IDMeja == TransaksiAwal.Meja.IDMeja); MejaTransaksi.IDStatusMeja = 1; //KOSONG TransaksiAwal.Meja.IDMeja = Parse.Int(e.CommandArgument.ToString()); TransaksiAwal.ConfirmTransaksi(db); db.SubmitChanges(); HiddenFieldPerintah.Value = string.Empty; HiddenFieldTransaksiAwal.Value = string.Empty; LiteralWarning.Text = string.Empty; LoadMeja(db); } } } else { Response.Redirect("/WITPointOfSales/Default.aspx?table=" + e.CommandArgument); } } }
protected void RepeaterTransaksiKombinasiProduk_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Hapus") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model Transaksi = new Transaksi_Model(LabelIDTransaksi.Text, Pengguna.IDPengguna); Transaksi.UbahJumlahProduk(e.CommandArgument.ToString().ToInt(), 0); Transaksi.ConfirmTransaksi(db); db.SubmitChanges(); LoadDataTransaksiDetail(); } } }
private void BatalTransaksi() { try { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model Transaksi = new Transaksi_Model(HiddenFieldIDTransaksi.Value, Pengguna.IDPengguna); Transaksi.IDStatusTransaksi = (int)EnumStatusTransaksi.Canceled; Transaksi.ConfirmTransaksi(); LoadData(); HiddenFieldIDTransaksi.Value = null; } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery); } }
protected void ButtonApprove_Click(object sender, EventArgs e) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { LiteralWarning.Text = ""; foreach (RepeaterItem item in RepeaterLaporan.Items) { CheckBox CheckBoxIDTransaksi = (CheckBox)item.FindControl("CheckBoxIDTransaksi"); if (CheckBoxIDTransaksi.Checked == true) { HiddenField HiddenFieldIDTransaksi = (HiddenField)item.FindControl("HiddenFieldIDTransaksi"); Transaksi_Model Transaksi = new Transaksi_Model(HiddenFieldIDTransaksi.Value, Pengguna.IDPengguna); if (Transaksi.GrandTotal == Transaksi.TotalPembayaran) { Transaksi.IDStatusTransaksi = (int)EnumStatusTransaksi.Complete; Transaksi.StatusPrint = true; Transaksi.ConfirmTransaksi(db); } else { LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Danger, Transaksi.IDTransaksi); } } } db.SubmitChanges(); LoadData(); } } catch (Exception) { throw; } }
protected void ButtonSimpan_Click(object sender, EventArgs e) { try { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model TransaksiAwal = (Transaksi_Model)ViewState["TransaksiAwal"]; Transaksi_Model TransaksiTujuan = (Transaksi_Model)ViewState["TransaksiTujuan"]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TransaksiAwal.ConfirmTransaksi(db); TransaksiTujuan.ConfirmTransaksi(db); db.SubmitChanges(); } Response.Redirect("Default.aspx", false); } catch (Exception ex) { 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 = ""; } }
private void PengaturanTransaksi(DataClassesDatabaseDataContext db, TBTransaksi Transaksi) { if (HiddenFieldPerintah.Value == "Order Check") { PrintOrderCheck(Transaksi); } else if (HiddenFieldPerintah.Value == "Pre Settlement") { PrintPreSettlement(db, Transaksi); } else if (HiddenFieldPerintah.Value == "Lihat Pesanan") { LihatPesanan(Transaksi); } else if (HiddenFieldPerintah.Value == "Split Bill") { Response.Redirect("Transfer.aspx?id=" + Transaksi.IDTransaksi); } else if (HiddenFieldPerintah.Value == "Transfer Item") { if (string.IsNullOrWhiteSpace(HiddenFieldTransaksiAwal.Value) || HiddenFieldTransaksiAwal.Value == Transaksi.IDTransaksi) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Warning, "Pilih meja tujuan untuk Transfer Item Meja " + Transaksi.TBMeja.Nama); HiddenFieldTransaksiAwal.Value = Transaksi.IDTransaksi; } else { Response.Redirect("Transfer.aspx?id=" + HiddenFieldTransaksiAwal.Value + "&and=" + Transaksi.IDTransaksi); } } else if (HiddenFieldPerintah.Value == "Pindah Meja") { if (string.IsNullOrWhiteSpace(HiddenFieldTransaksiAwal.Value) || HiddenFieldTransaksiAwal.Value == Transaksi.IDTransaksi) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Warning, "Pilih meja tujuan " + Transaksi.TBMeja.Nama); HiddenFieldTransaksiAwal.Value = Transaksi.IDTransaksi; } else { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model TransaksiAwal = new Transaksi_Model(HiddenFieldTransaksiAwal.Value, Pengguna.IDPengguna); Transaksi_Model TransaksiTujuan = new Transaksi_Model(Transaksi.IDTransaksi, Pengguna.IDPengguna); foreach (var item in TransaksiAwal.Detail) { var DetailTujuan = TransaksiTujuan.Detail .FirstOrDefault(item2 => item2.IDKombinasiProduk == item.IDKombinasiProduk && item2.HargaBeli == item.HargaBeli && item2.HargaJual == item.HargaJual && item2.Discount == item.Discount); if (DetailTujuan != null) { DetailTujuan.Quantity += item.Quantity; } else { TransaksiTujuan.Detail.Add(item); } } TransaksiAwal.ResetTransaksiDetail(); TransaksiAwal.ConfirmTransaksi(db); TransaksiTujuan.ConfirmTransaksi(db); db.SubmitChanges(); HiddenFieldPerintah.Value = string.Empty; HiddenFieldTransaksiAwal.Value = string.Empty; LiteralWarning.Text = string.Empty; LoadMeja(db); } } else if (HiddenFieldPerintah.Value == "Reprint") { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Transaksi_Model TransaksiReprint = new Transaksi_Model(Transaksi.IDTransaksi, Pengguna.IDPengguna); TransaksiReprint.PrintOrder(PilihanStatusPrint.Reprint); TransaksiReprint.StatusPrint = true; TransaksiReprint.ConfirmTransaksi(); HiddenFieldPerintah.Value = string.Empty; LiteralWarning.Text = string.Empty; } }
private void Simpan(int idStatusTransaksi) { Transaksi_Model Transaksi = (Transaksi_Model)ViewState["Transaksi"]; PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; if (Transaksi != null) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { LoadDataTransaksi(); Pelanggan_Class ClassPelanggan = new Pelanggan_Class(db); Alamat_Class ClassAlamat = new Alamat_Class(); TBPelanggan Pelanggan; if (DropDownListPelanggan.SelectedValue == "0") { Pelanggan = ClassPelanggan.Tambah( IDGrupPelanggan: DropDownListGrupPelanggan.SelectedValue.ToInt(), IDPenggunaPIC: Pengguna.IDPengguna, NamaLengkap: TextBoxNama.Text, Username: "", Password: "", Email: "", Handphone: TextBoxTelepon.Text, TeleponLain: "", TanggalLahir: DateTime.Now, Deposit: 0, Catatan: "", _IsActive: true ); ClassAlamat.Tambah(db, 0, Pelanggan, TextBoxAlamat.Text, "", Transaksi.BiayaPengiriman, ""); db.SubmitChanges(); } else { Pelanggan = ClassPelanggan.Ubah( IDPelanggan: DropDownListPelanggan.SelectedValue.ToInt(), IDGrupPelanggan: DropDownListGrupPelanggan.SelectedValue.ToInt(), NamaLengkap: TextBoxNama.Text, Handphone: TextBoxTelepon.Text ); if (Pelanggan.TBAlamats.Count > 0) { ClassAlamat.Ubah(db, 0, Pelanggan.TBAlamats.FirstOrDefault(), Pelanggan, TextBoxAlamat.Text, "", Transaksi.BiayaPengiriman, ""); } } Transaksi.PengaturanPelanggan(Pelanggan.IDPelanggan); Transaksi.IDStatusTransaksi = idStatusTransaksi; string IDTransaksi = Transaksi.ConfirmTransaksi(db); db.SubmitChanges(); Response.Redirect("Default.aspx?id=" + IDTransaksi); } } }