Exemplo n.º 1
0
    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_Class TransaksiAwal   = new Transaksi_Class(HiddenFieldTransaksiAwal.Value, Pengguna.IDPengguna);
                Transaksi_Class TransaksiTujuan = new Transaksi_Class(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_Class TransaksiReprint = new Transaksi_Class(Transaksi.IDTransaksi, Pengguna.IDPengguna);

            TransaksiReprint.PrintOrder(PilihanStatusPrint.Reprint);
            TransaksiReprint.StatusPrint = true;
            TransaksiReprint.ConfirmTransaksi();

            HiddenFieldPerintah.Value = string.Empty;
            LiteralWarning.Text       = string.Empty;
        }
    }