Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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);
            }
        }
    }
Ejemplo n.º 3
0
    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();
            }
        }
    }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 5
0
    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;
        }
    }
Ejemplo n.º 6
0
    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);
        }
    }
Ejemplo n.º 7
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 = "";
        }
    }
Ejemplo n.º 8
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_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;
        }
    }
Ejemplo n.º 9
0
    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);
            }
        }
    }