Esempio n. 1
0
    private void PrintOrderCheck(TBTransaksi Transaksi)
    {
        MultiViewPrint.ActiveViewIndex    = 0;
        LabelPrintOrderCheckIDOrder.Text  = Transaksi.IDTransaksi;
        LabelPrintOrderCheckTable.Text    = Transaksi.TBMeja.Nama;
        LabelPrintOrderCheckPengguna.Text = Transaksi.IDPenggunaUpdate.HasValue ? Transaksi.TBPengguna2.NamaLengkap : Transaksi.TBPengguna.NamaLengkap;
        LabelPrintOrderCheckTanggal.Text  = Transaksi.TanggalUpdate.HasValue ? Pengaturan.FormatTanggalJam(Transaksi.TanggalUpdate.Value) : Pengaturan.FormatTanggalJam(Transaksi.TanggalTransaksi);

        RepeaterPrintOrderCheck.DataSource = Transaksi.TBTransaksiDetails
                                             .Select(item => new
        {
            JumlahProduk     = item.Quantity,
            Produk           = item.TBKombinasiProduk.Nama,
            Keterangan       = item.Keterangan.Replace("\n", "<br/>"),
            StatusKeterangan = !string.IsNullOrWhiteSpace(item.Keterangan)
        }).ToArray();
        RepeaterPrintOrderCheck.DataBind();

        LabelPrintOrderCheckQuantity.Text   = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
        PanelKeteranganOrderCheck.Visible   = !string.IsNullOrWhiteSpace(Transaksi.Keterangan);
        PanelKeteranganOrderCheck1.Visible  = PanelKeteranganOrderCheck.Visible;
        LabelPrintOrderCheckKeterangan.Text = Transaksi.Keterangan;

        //LiteralWarning.Text = @"<script>window.print();</script>";

        HiddenFieldPerintah.Value = string.Empty;

        //UPDATE PANEL PRINT
        LiteralWarning.Text = string.Empty;
        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "MyAction", "window.print();", true);
    }
Esempio n. 2
0
    protected void DropDownListPelanggan_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownListPelanggan.SelectedValue != "0")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                Pelanggan_Class ClassPelanggan = new Pelanggan_Class(db);

                var Pelanggan = ClassPelanggan.Cari(DropDownListPelanggan.SelectedValue.ToInt());

                if (Pelanggan != null)
                {
                    TextBoxNama.Text = Pelanggan.NamaLengkap;
                    DropDownListGrupPelanggan.SelectedValue = Pelanggan.IDGrupPelanggan.ToString();

                    if (Pelanggan.TBAlamats.Count > 0)
                    {
                        var Alamat = Pelanggan.TBAlamats.FirstOrDefault();

                        TextBoxTelepon.Text = Pelanggan.Handphone;
                        TextBoxAlamat.Text  = Alamat.AlamatLengkap;

                        Transaksi_Class Transaksi = (Transaksi_Class)ViewState["Transaksi"];
                        Transaksi.BiayaPengiriman   = Alamat.BiayaPengiriman.Value;
                        TextBoxBiayaPengiriman.Text = Pengaturan.FormatHarga(Transaksi.BiayaPengiriman);
                    }
                }
            }

            LoadDataTransaksi();
        }
    }
Esempio n. 3
0
    private void LoadBiayaProduksi(List <StokBahanBaku_Model> komposisiProduk, List <JenisBiayaProduksi_Model> biayaProduksi)
    {
        decimal hargaPokokKomposisi = komposisiProduk.Sum(item => item.SubtotalHargaBeli);

        foreach (var item in biayaProduksi)
        {
            if (item.EnumBiayaProduksi == (int)PilihanBiayaProduksi.Persen)
            {
                item.Biaya = item.Persentase * hargaPokokKomposisi;
            }
            else
            {
                item.Biaya = item.Nominal;
            }
        }

        RepeaterBiayaProduksi.DataSource = biayaProduksi.Select(item => new
        {
            item.IDJenisBiayaProduksi,
            item.Nama,
            Jenis = item.EnumBiayaProduksi == 1 ? Pengaturan.FormatHarga(item.Persentase * 100) + "% dari Komposisi Produk" : "Nominal",
            Biaya = Pengaturan.FormatHarga(item.Biaya)
        }).OrderBy(item => item.Nama);
        RepeaterBiayaProduksi.DataBind();

        LabelSubtotalBiayaProduksi.Text = Pengaturan.FormatHarga(biayaProduksi.Sum(item => item.Biaya));

        TextBoxHargaPokokProduksi.Text = (komposisiProduk.Sum(item => item.SubtotalHargaBeli) + biayaProduksi.Sum(item => item.Biaya)).ToString();
        TextBoxHargaJual.Text          = TextBoxHargaPokokProduksi.Text;
    }
Esempio n. 4
0
    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, Parse.Int(Request.QueryString["id"]));

                if (StokProduk != null)
                {
                    PanelKeterangan.Visible = Parse.Int(Request.QueryString["jumlah"]) > 0;

                    if (PanelKeterangan.Visible)
                    {
                        var jumlah        = Parse.Decimal(Request.QueryString["jumlah"]);
                        var jumlahPrint   = Math.Ceiling(jumlah / 3);
                        var tidakTerpakai = (jumlahPrint * 3) - jumlah;

                        LabelJumlahPrint.Text   = Pengaturan.FormatHarga(jumlahPrint);
                        LabelTidakTerpakai.Text = Pengaturan.FormatHarga(tidakTerpakai);
                    }

                    List <dynamic> ListBarcode = new List <dynamic>();

                    for (int i = 0; i < 3; i++)
                    {
                        ListBarcode.Add(new
                        {
                            Nama     = StokProduk.TBKombinasiProduk.TBProduk.Nama,
                            Kode     = StokProduk.TBKombinasiProduk.KodeKombinasiProduk,
                            Varian   = !string.IsNullOrWhiteSpace(StokProduk.TBKombinasiProduk.TBAtributProduk.Nama) ? "(" + StokProduk.TBKombinasiProduk.TBAtributProduk.Nama + ")" : "&nbsp;",
                            Warna    = StokProduk.TBKombinasiProduk.TBProduk.TBWarna.Nama,
                            Kategori = StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? StokProduk.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                            Harga    = Pengaturan.FormatHarga(StokProduk.HargaJual)
                        });
                    }

                    RepeaterBarcode2.DataSource = ListBarcode;
                    RepeaterBarcode2.DataBind();
                }
                else
                {
                    Response.Redirect("/WITWarehouse/Default.aspx");
                }
            }
        }
    }
Esempio n. 5
0
 public static string CekNullValueHarga(object value)
 {
     if (value == null)
     {
         return("0");
     }
     else
     {
         return(Pengaturan.FormatHarga(value.ToString()));
     }
 }
Esempio n. 6
0
    public static string FormatHargaRepeater(decimal?harga)
    {
        var Harga = harga.HasValue ? harga.Value : 0;

        if (Harga < 0)
        {
            return("<td class='text-right FontRed'>" + "(" + Pengaturan.FormatHarga(Math.Abs(Harga)) + ")" + "</td>");
        }
        else
        {
            return("<td class='text-right'>" + Pengaturan.FormatHarga(Harga) + "</td>");
        }
    }
    public Dictionary <string, dynamic> TEMPLATE()
    {
        Dictionary <string, dynamic> Result = new Dictionary <string, dynamic>();

        var Data = db.TBTransaksis
                   .Where(item =>
                          item.TanggalOperasional.Value >= tanggalAwal &&
                          item.TanggalOperasional.Value <= tanggalAkhir)
                   .ToArray();

        tempPencarian += "?TanggalAwal=" + tanggalAwal;
        tempPencarian += "&TanggalAkhir=" + tanggalAkhir;

        var DataResult = Data.Select(item => new
        {
            item.IDTransaksi,
        });

        if (excel)
        {
            #region EXCEL
            Excel_Class    Excel_Class = new Excel_Class(pengguna, "Transaksi", Periode, 27);
            ExcelWorksheet Worksheet   = Excel_Class.Worksheet;

            Excel_Class.Header(1, "No.");
            Excel_Class.Header(2, "Transaksi");

            int index = 2;

            foreach (var item in Data)
            {
                Excel_Class.Content(index, 1, index - 1);
                Excel_Class.Content(index, 2, item.IDTransaksi);

                index++;
            }

            Excel_Class.Save();

            linkDownload = Excel_Class.LinkDownload;
            #endregion
        }

        Result.Add("Data", DataResult);

        Result.Add("JumlahTamu", Pengaturan.FormatHarga(Data.Sum(item => item.JumlahTamu)));

        return(Result);
    }
Esempio n. 8
0
    public static bool FormatHarga(Label LabelInput, decimal?harga)
    {
        var Harga = harga.HasValue ? harga.Value : 0;

        if (Harga < 0)
        {
            LabelInput.ForeColor = System.Drawing.Color.Red;
            LabelInput.Text      = "(" + Pengaturan.FormatHarga(Math.Abs(Harga)) + ")";
        }
        else
        {
            LabelInput.ForeColor = System.Drawing.Color.Black;
            LabelInput.Text      = Pengaturan.FormatHarga(Harga);
        }

        return(Harga != 0);
    }
Esempio n. 9
0
    private void LoadKomposisiProduk(List <StokBahanBaku_Model> komposisiProduk, List <JenisBiayaProduksi_Model> biayaProduksi)
    {
        RepeaterKomposisiProduk.DataSource = komposisiProduk.Select(item => new
        {
            item.IDBahanBaku,
            TargetBahanBaku = "#" + item.IDBahanBaku,
            item.BahanBaku,
            item.Jumlah,
            item.Satuan,
            StatusKomposisi = item.Komposisi.Count > 0 ? "info" : string.Empty,
            item.HargaBeli,
            item.SubtotalHargaBeli,
            item.Komposisi
        }).OrderBy(item => item.BahanBaku);
        RepeaterKomposisiProduk.DataBind();

        LabelSubtotalKomposisiProduk.Text = Pengaturan.FormatHarga(komposisiProduk.Sum(item => item.SubtotalHargaBeli));

        TextBoxHargaPokokProduksi.Text = (komposisiProduk.Sum(item => item.SubtotalHargaBeli) + biayaProduksi.Sum(item => item.Biaya)).ToString();
        TextBoxHargaJual.Text          = TextBoxHargaPokokProduksi.Text;
    }
Esempio n. 10
0
    private void LihatPesanan(TBTransaksi Transaksi)
    {
        LabelLihatPesananMeja.Text           = Transaksi.TBMeja.Nama;
        LabelLihatPesananIDTransaksi.Text    = Transaksi.IDTransaksi;
        LabelLihatPesananPengguna.Text       = Transaksi.IDPenggunaUpdate.HasValue ? Transaksi.TBPengguna2.NamaLengkap : Transaksi.TBPengguna.NamaLengkap;
        LabelLihatPesananTanggal.Text        = Transaksi.TanggalUpdate.HasValue ? Pengaturan.FormatTanggalJam(Transaksi.TanggalUpdate.Value) : Pengaturan.FormatTanggalJam(Transaksi.TanggalTransaksi);
        LabelLihatPesananQuantity.Text       = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
        LabelLihatPesananPelanggan.Text      = Transaksi.TBPelanggan.NamaLengkap;
        LabelLihatPesananWaktuPelanggan.Text = PenghitunganWaktu(Transaksi.TanggalTransaksi.Value);
        LabelLihatPesananKeterangan.Text     = Transaksi.Keterangan;

        RepeaterLihatPesananDetail.DataSource = Transaksi.TBTransaksiDetails
                                                .Select(item => new
        {
            JumlahProduk = item.Quantity,
            Produk       = item.TBKombinasiProduk.Nama,
            Keterangan   = !string.IsNullOrWhiteSpace(item.Keterangan) ? "# " + item.Keterangan : ""
        }).ToArray();
        RepeaterLihatPesananDetail.DataBind();

        HiddenFieldPerintah.Value = string.Empty;
        ModalPopupExtenderLihatPesanan.Show();
    }
Esempio n. 11
0
    private void LoadDataTransaksiDetail()
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            Transaksi_Model Transaksi = new Transaksi_Model(LabelIDTransaksi.Text, Pengguna.IDPengguna);

            RepeaterTransaksiKombinasiProduk.DataSource = Transaksi.Detail
                                                          .Join(db.TBKombinasiProduks,
                                                                Detail => Detail.IDKombinasiProduk,
                                                                KombinasiProduk => KombinasiProduk.IDKombinasiProduk,
                                                                (Detail, KombinasiProduk) => new
            {
                Detail          = Detail,
                KombinasiProduk = KombinasiProduk
            })
                                                          .Select(item => new
            {
                Produk            = item.KombinasiProduk.TBProduk.Nama,
                AtributProduk     = item.KombinasiProduk.TBAtributProduk.Nama,
                Barcode           = item.Detail.Barcode,
                Kategori          = item.KombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.KombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                PemilikProduk     = item.KombinasiProduk.TBProduk.TBPemilikProduk.Nama,
                HargaJual         = item.Detail.HargaJual,
                JumlahProduk      = item.Detail.Quantity,
                Subtotal          = item.Detail.Subtotal,
                IDDetailTransaksi = item.Detail.IDDetailTransaksi,
            })
                                                          .OrderBy(item => item.Produk);
            RepeaterTransaksiKombinasiProduk.DataBind();

            LabelTotalJumlah.Text            = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
            LabelTotalSubtotalHargaJual.Text = Pengaturan.FormatHarga(Transaksi.Subtotal);
        }
    }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
    private void PrintPreSettlement(DataClassesDatabaseDataContext db, TBTransaksi Transaksi)
    {
        MultiViewPrint.ActiveViewIndex = 1;
        LabelPrintIDOrder.Text         = Transaksi.IDTransaksi;
        LabelPrintPengguna.Text        = Transaksi.IDPenggunaUpdate.HasValue ? Transaksi.TBPengguna2.NamaLengkap : Transaksi.TBPengguna.NamaLengkap;
        LabelPrintTanggal.Text         = Transaksi.TanggalUpdate.HasValue ? Pengaturan.FormatTanggalJam(Transaksi.TanggalUpdate.Value) : Pengaturan.FormatTanggalJam(Transaksi.TanggalTransaksi);

        PanelPelanggan.Visible          = Transaksi.TBPelanggan.IDPelanggan > 1;
        LabelPrintIDPelanggan.Text      = Transaksi.TBPelanggan.IDPelanggan.ToString();
        LabelPrintPelangganNama.Text    = Transaksi.TBPelanggan.NamaLengkap;
        LabelPrintPelangganTelepon.Text = Transaksi.TBPelanggan.TeleponLain;

        var Alamat = Transaksi.TBPelanggan.TBAlamats.FirstOrDefault();

        if (Alamat != null)
        {
            LabelPrintPelangganAlamat.Text = Alamat.AlamatLengkap;
        }

        RepeaterPrintTransaksiDetail.DataSource = Transaksi.TBTransaksiDetails
                                                  .Select(item => new
        {
            JumlahProduk = item.Quantity,
            Produk       = item.TBKombinasiProduk.Nama,
            TotalTanpaPotonganHargaJual = item.HargaJual * item.Quantity,
            TotalPotonganHargaJual      = item.Discount * item.Quantity,
            PotonganHargaJual           = item.Discount
        }).ToArray();
        RepeaterPrintTransaksiDetail.DataBind();

        LabelPrintQuantity.Text = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
        LabelPrintSubtotal.Text = Pengaturan.FormatHarga(Transaksi.TBTransaksiDetails.Sum(item => item.Quantity * item.HargaJual));

        PanelDiscountTransaksi.Visible   = Transaksi.PotonganTransaksi > 0;
        LabelPrintDiscountTransaksi.Text = Pengaturan.FormatHarga(Transaksi.PotonganTransaksi);

        PanelBiayaTambahan1.Visible   = Transaksi.BiayaTambahan1 > 0;
        LabelPrintBiayaTambahan1.Text = Pengaturan.FormatHarga(Transaksi.BiayaTambahan1);

        PanelBiayaTambahan2.Visible   = Transaksi.BiayaTambahan2 > 0;
        LabelPrintBiayaTambahan2.Text = Pengaturan.FormatHarga(Transaksi.BiayaTambahan2);

        PanelBiayaPengiriman.Visible   = Transaksi.BiayaPengiriman > 0;
        LabelPrintBiayaPengiriman.Text = Pengaturan.FormatHarga(Transaksi.BiayaPengiriman);

        PanelPembulatan.Visible   = Transaksi.Pembulatan != 0;
        LabelPrintPembulatan.Text = Pengaturan.FormatHarga(Transaksi.Pembulatan);

        LabelPrintGrandTotal.Text = Pengaturan.FormatHarga(Transaksi.GrandTotal);

        PanelKeterangan.Visible   = !string.IsNullOrWhiteSpace(Transaksi.Keterangan);
        PanelKeterangan1.Visible  = PanelKeterangan.Visible;
        LabelPrintKeterangan.Text = Transaksi.Keterangan;

        LabelPrintTable.Text = Transaksi.TBMeja.Nama;

        //MERUBAH WARNA MEJA
        Transaksi.TBMeja.IDStatusMeja = 4;
        db.SubmitChanges();

        LoadMeja(db);

        //LiteralWarning.Text = @"<script>window.print();</script>";

        HiddenFieldPerintah.Value = string.Empty;

        //UPDATE PANEL PRINT
        LiteralWarning.Text = string.Empty;
        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "MyAction", "window.print();", true);
    }
Esempio n. 14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Transaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == Request.QueryString["id"]);

                if (Transaksi != null)
                {
                    #region TRANSAKSI PRINT LOG
                    TransaksiPrintLog_Class TransaksiPrintLog_Class = new TransaksiPrintLog_Class(db);
                    TransaksiPrintLog_Class.Tambah(EnumPrintLog.PackingSlip, Transaksi.IDTransaksi);
                    db.SubmitChanges();
                    #endregion

                    var Store  = Transaksi.TBTempat.TBStore;
                    var Tempat = Transaksi.TBTempat;

                    LabelFooterPrint.Text = Transaksi.TBTempat.FooterPrint;

                    LabelNamaStore.Text        = Store.Nama + " - " + Tempat.Nama;
                    LabelAlamatStore.Text      = Tempat.Alamat;
                    LabelTeleponStore.Text     = Tempat.Telepon1;
                    LabelWebsite.Text          = Store.Website;
                    HyperLinkEmail.Text        = Tempat.Email;
                    HyperLinkEmail.NavigateUrl = Tempat.Email;

                    LabelIDTransaksi.Text      = Transaksi.IDTransaksi;
                    LabelTanggalTransaksi.Text = Pengaturan.FormatTanggal(Transaksi.TanggalTransaksi);
                    LabelNamaPelanggan.Text    = Transaksi.TBPelanggan.NamaLengkap;

                    if (Transaksi.IDPelanggan != 1)
                    {
                        var Alamat = Transaksi.TBAlamat;

                        LabelAlamatPelanggan.Text  = Alamat.AlamatLengkap;
                        LabelTeleponPelanggan.Text = Alamat.Handphone;
                    }

                    LabelJenisPembayaran.Text = Transaksi.TBJenisPembayaran.Nama;
                    LabelStatusTransaksi.Text = Transaksi.TBStatusTransaksi.Nama;

                    var TransaksiDetail = Transaksi.TBTransaksiDetails.ToArray();

                    RepeaterDetailTransaksi.DataSource = TransaksiDetail
                                                         .Select(item => new
                    {
                        Kode         = item.TBKombinasiProduk.KodeKombinasiProduk,
                        Nama         = item.TBKombinasiProduk.Nama,
                        Kategori     = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                        JumlahProduk = item.Quantity
                    })
                                                         .OrderBy(item => item.Nama);
                    RepeaterDetailTransaksi.DataBind();

                    LabelTotalQuantity.Text = Pengaturan.FormatHarga(TransaksiDetail.Sum(item => item.Quantity));

                    LabelKeterangan.Text = Transaksi.Keterangan;
                }
                else
                {
                    Response.Redirect("Transaksi.aspx");
                }
            }
        }
    }
Esempio n. 15
0
    private void LoadDataCetakLaporan(DateTime tanggalAwal, DateTime tanggalAkhir)
    {
        PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        tanggalAwal  = tanggalAwal.Date;
        tanggalAkhir = tanggalAkhir.Date;

        LabelPrintNamaStore.Text  = Pengguna.Store;
        LabelPrintNamaLokasi.Text = Pengguna.Tempat;
        LabelPrintTanggal.Text    = Pengaturan.FormatTanggal(DateTime.Now);

        if (tanggalAwal == tanggalAkhir)
        {
            LabelPrintTanggalLaporan.Text = Pengaturan.FormatTanggalRingkas(tanggalAwal);
        }
        else
        {
            LabelPrintTanggalLaporan.Text = Pengaturan.FormatTanggalRingkas(tanggalAwal) + " - " + Pengaturan.FormatTanggalRingkas(tanggalAkhir);
        }

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            #region PENCARIAN DATA
            TBTransaksi[]                TransaksiKeseluruhan;
            TBTransaksiDetail[]          TransaksiDetail;
            TBTransaksiJenisPembayaran[] TransaksiJenisPembayaran;
            TBTransaksiJenisPembayaran[] TransaksiPembayaranAwaitingPayment;

            //TRANSAKSI PEMBAYARAN
            TransaksiJenisPembayaran = db.TBTransaksiJenisPembayarans
                                       .Where(item =>
                                              item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES
                                              item.TBTransaksi.IDTempat == Pengguna.IDTempat &&
                                              item.TBTransaksi.TanggalOperasional.Value.Date >= tanggalAwal &&
                                              item.TBTransaksi.TanggalOperasional.Value.Date <= tanggalAkhir &&
                                              item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete)
                                       .ToArray();

            //TRANSAKSI PEMBAYARAN AWAITING PAYMENT
            TransaksiPembayaranAwaitingPayment = db.TBTransaksiJenisPembayarans
                                                 .Where(item =>
                                                        item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES
                                                        item.TBTransaksi.IDTempat == Pengguna.IDTempat &&
                                                        item.Tanggal.Value.Date >= tanggalAwal &&
                                                        item.Tanggal.Value.Date <= tanggalAkhir &&
                                                        item.TBTransaksi.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled)
                                                 .ToArray();

            //TRANSAKSI KESELURUHAN
            TransaksiKeseluruhan = db.TBTransaksis
                                   .Where(item =>
                                          item.IDJenisTransaksi == 1 && //1 : POINT OF SALES
                                          item.IDTempat == Pengguna.IDTempat &&
                                          item.TanggalOperasional.Value >= tanggalAwal &&
                                          item.TanggalOperasional.Value <= tanggalAkhir)
                                   .ToArray();

            //DETAIL TRANSAKSI
            TransaksiDetail = db.TBTransaksiDetails
                              .Where(item =>
                                     item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES
                                     item.TBTransaksi.IDTempat == Pengguna.IDTempat &&
                                     item.TBTransaksi.TanggalOperasional.Value >= tanggalAwal &&
                                     item.TBTransaksi.TanggalOperasional.Value <= tanggalAkhir &&
                                     item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete)
                              .ToArray();

            if (DropDownListStatusCetak.SelectedValue == "-1")
            {
                //OPERATOR
                LabelStatusLaporan.Text = "Laporan Tutup Kasir " + Pengguna.NamaLengkap;

                //TRANSAKSI PEMBAYARAN
                TransaksiJenisPembayaran = TransaksiJenisPembayaran
                                           .Where(item => item.IDPengguna == Pengguna.IDPengguna)
                                           .ToArray();

                //TRANSAKSI PEMBAYARAN AWAITING PAYMENT
                TransaksiPembayaranAwaitingPayment = TransaksiPembayaranAwaitingPayment
                                                     .Where(item => item.IDPengguna == Pengguna.IDPengguna)
                                                     .ToArray();

                //TRANSAKSI KESELURUHAN
                TransaksiKeseluruhan = TransaksiKeseluruhan
                                       .Where(item => item.IDPenggunaPembayaran == Pengguna.IDPengguna)
                                       .ToArray();

                //DETAIL TRANSAKSI
                TransaksiDetail = TransaksiDetail
                                  .Where(item => item.TBTransaksi.IDPenggunaPembayaran == Pengguna.IDPengguna)
                                  .ToArray();
            }
            else
            {
                LabelStatusLaporan.Text = "Laporan Tutup Kasir Keseluruhan";
            }

            //TRANSAKSI COMPLETE
            var TransaksiComplete = TransaksiKeseluruhan
                                    .Where(item => item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete).ToArray();
            #endregion

            JenisPembayaran_Class ClassJenisPembayaran = new JenisPembayaran_Class(db);
            var ListJenisPembayaran = ClassJenisPembayaran.Data();

            #region JENIS PEMBAYARAN
            Dictionary <string, decimal> ListPembayaranLainnya = new Dictionary <string, decimal>();

            foreach (var item in ListJenisPembayaran)
            {
                var Pembayaran = TransaksiJenisPembayaran
                                 .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran);

                if (Pembayaran.Count() > 0)
                {
                    ListPembayaranLainnya.Add(item.Nama.ToUpper(), Pembayaran.Sum(x => x.Total.Value));
                }
            }

            RepeaterTransaksiPembayaranLainnya.DataSource = ListPembayaranLainnya;
            RepeaterTransaksiPembayaranLainnya.DataBind();

            LabelTotalJenisPembayaran.Text = Pengaturan.FormatHarga(ListPembayaranLainnya.Sum(item => item.Value));
            #endregion

            #region PEMBAYARAN AWAITING PAYMENT
            Dictionary <string, decimal> ListPembayaranAwaitingPayment = new Dictionary <string, decimal>();
            Dictionary <string, decimal> ListCashDrawer = new Dictionary <string, decimal>();

            foreach (var item in ListJenisPembayaran)
            {
                var Pembayaran = TransaksiJenisPembayaran
                                 .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran);

                var AwaitingPayment = TransaksiPembayaranAwaitingPayment
                                      .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran);

                if (AwaitingPayment.Count() > 0)
                {
                    decimal TotalPembayaran = 0;
                    decimal TotalAwaitingPayment;

                    if (Pembayaran.Count() > 0)
                    {
                        TotalPembayaran = Pembayaran.Sum(x => x.Total.Value);
                    }

                    TotalAwaitingPayment = AwaitingPayment.Sum(x => x.Total.Value);

                    if ((TotalAwaitingPayment - TotalPembayaran) > 0)
                    {
                        ListPembayaranAwaitingPayment.Add(item.Nama.ToUpper(), (TotalAwaitingPayment - TotalPembayaran));
                    }

                    ListCashDrawer.Add(item.Nama.ToUpper(), TotalAwaitingPayment);
                }
            }

            RepeaterPembayaranAwaitingPayment.DataSource = ListPembayaranAwaitingPayment;
            RepeaterPembayaranAwaitingPayment.DataBind();

            RepeaterCashDrawer.DataSource = ListCashDrawer;
            RepeaterCashDrawer.DataBind();

            LabelTotalJenisPembayaranAwaitingPayment.Text = Pengaturan.FormatHarga(ListPembayaranAwaitingPayment.Sum(item => item.Value));
            LabelTotalCashDrawer.Text = Pengaturan.FormatHarga(ListCashDrawer.Sum(item => item.Value));

            PanelPembayaranAwaitingPayment.Visible = ListPembayaranAwaitingPayment.Count() > 0;
            PanelCashDrawer.Visible = ListCashDrawer.Count() > 0;
            #endregion

            #region TRANSAKSI SELAIN COMPLETE
            List <dynamic> TransaksiStatusLainnya = new List <dynamic>();
            foreach (var item in db.TBStatusTransaksis.Where(item2 => item2.IDStatusTransaksi != 5).OrderBy(item2 => item2.Urutan).ToArray())
            {
                var _data = TransaksiKeseluruhan
                            .Where(item2 => item2.IDStatusTransaksi == item.IDStatusTransaksi);

                if (_data.Count() > 0)
                {
                    TransaksiStatusLainnya.Add(new
                    {
                        Nama   = item.Nama.ToUpper(),
                        Jumlah = _data.Count(),
                        Total  = _data.Sum(x => x.GrandTotal)
                    });
                }
            }

            RepeaterTransaksiStatusLainnya.DataSource = TransaksiStatusLainnya;
            RepeaterTransaksiStatusLainnya.DataBind();
            #endregion

            //#region KATEGORI PRODUK
            //var DataKategori = TransaksiDetail
            //    .GroupBy(item => item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 0 ? "" : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 1 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Skip(1).FirstOrDefault().TBKategoriProduk.Nama)
            //    .Select(item => new
            //    {
            //        Key = item.Key,
            //        Quantity = item.Sum(item2 => item2.JumlahProduk) ?? 0
            //    });

            //RepeaterPenjualanKategori.DataSource = DataKategori.OrderBy(item => item.Key);
            //RepeaterPenjualanKategori.DataBind();

            //LabelTotalPenjualanKategori.Text = Pengaturan.FormatHarga(DataKategori.Sum(item => item.Quantity));
            //#endregion

            #region PENJUALAN PRODUK
            var DataProduk = TransaksiDetail
                             .GroupBy(item => item.TBKombinasiProduk.Nama)
                             .Select(item => new
            {
                Key      = item.Key,
                Quantity = item.Sum(item2 => item2.Quantity)
            });

            RepeaterPenjualanProduk.DataSource = DataProduk.OrderBy(item => item.Key);
            RepeaterPenjualanProduk.DataBind();

            LabelTotalPenjualanProduk.Text = Pengaturan.FormatHarga(DataProduk.Sum(item => item.Quantity));
            LabelJumlahProduk.Text         = LabelTotalPenjualanProduk.Text;
            #endregion

            var GrandTotal                   = TransaksiComplete.Sum(item => item.GrandTotal);
            var PotonganTransaksi            = TransaksiComplete.Sum(item => item.PotonganTransaksi);
            var TotalPotonganHargaJualDetail = TransaksiComplete.Sum(item => item.TotalPotonganHargaJualDetail);
            var Discount        = PotonganTransaksi + TotalPotonganHargaJualDetail;
            var SebelumDiscount = GrandTotal + Discount;

            LabelSebelumDiscount.Text = Pengaturan.FormatHarga(SebelumDiscount);
            LabelDiscount.Text        = Pengaturan.FormatHarga(Discount);
            LabelGrandTotal.Text      = Pengaturan.FormatHarga(GrandTotal);
            LabelJumlahTransaksi.Text = Pengaturan.FormatHarga(TransaksiComplete.Count());

            LabelDiscountTransaksi.Text = Pengaturan.FormatHarga(PotonganTransaksi);
            LabelDiscountProduk.Text    = Pengaturan.FormatHarga(TotalPotonganHargaJualDetail);

            #region Addictea
            //TBPerpindahanStokProduk[] perpindahanStokProduk;

            //if (DropDownListStatusCetak.SelectedValue == "-1")
            //    perpindahanStokProduk = db.TBPerpindahanStokProduks.Where(item => item.IDPengguna == Pengguna.IDPengguna).ToArray();
            //else
            //    perpindahanStokProduk = db.TBPerpindahanStokProduks.ToArray();

            //var stok = db.TBAtributProduks.AsEnumerable().Select(itemAtribut => new
            //{
            //    NamaProduk = itemAtribut.Nama,
            //    Atribut = db.TBStokProduks.AsEnumerable().Where(itemStok => itemStok.TBKombinasiProduk.IDAtributProduk == itemAtribut.IDAtributProduk && itemStok.IDTempat == Pengguna.IDTempat).Select(data => new
            //    {
            //        Nama = data.TBKombinasiProduk.TBProduk.Nama,
            //        Restok = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 30 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 30 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah),
            //        JumlahJual = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 4 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : (perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 4 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah) - (perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 5 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 5 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah))),
            //        Retur = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 14 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 14 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah),
            //        Stok = data.Jumlah
            //    }).ToList()
            //}).ToList();

            //LabelPrintRestok.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Restok)));
            //LabelPrintPenjualan.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.JumlahJual)));
            //LabelPrintRetur.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Retur)));
            //LabelPrintStok.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Stok)));

            //var dataStok = stok.Select(item => new
            //{
            //    item.NamaProduk,
            //    item.Atribut,
            //    TotalRestok = item.Atribut.Sum(item2 => item2.Restok),
            //    TotalJumlahJual = item.Atribut.Sum(item2 => item2.JumlahJual),
            //    TotalRetur = item.Atribut.Sum(item2 => item2.Retur),
            //    TotalStok = item.Atribut.Sum(item2 => item2.Stok)
            //});

            //RepeaterStokPrint.DataSource = dataStok;
            //RepeaterStokPrint.DataBind();
            #endregion
        }
    }
Esempio n. 16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Transaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == Request.QueryString["id"]);

                if (Transaksi != null)
                {
                    ButtonPrint2.OnClientClick = "return popitup('Invoice.aspx?id=" + Transaksi.IDTransaksi + "')";
                    ButtonPrint3.OnClientClick = "return popitup('PackingSlip.aspx?id=" + Transaksi.IDTransaksi + "')";

                    LabelIDTransaksi.Text = Transaksi.IDTransaksi;

                    LabelMeja.Text = Transaksi.TBMeja.Nama;
                    LabelPAX.Text  = Pengaturan.FormatHarga(Transaksi.JumlahTamu);

                    //PENGGUNA
                    LabelPenggunaTransaksi.Text = Transaksi.TBPengguna.NamaLengkap;

                    if (Transaksi.IDPenggunaUpdate.HasValue)
                    {
                        LabelPenggunaUpdate.Text        = Transaksi.TBPengguna2.NamaLengkap;
                        PanelPerubahanTerakhir1.Visible = true;
                    }
                    else
                    {
                        LabelPenggunaUpdate.Text        = "";
                        PanelPerubahanTerakhir1.Visible = false;
                    }

                    LabelTempat.Text = Transaksi.TBTempat.Nama;

                    //PELANGGAN
                    LabelPelangganNama.Text = Transaksi.TBPelanggan.NamaLengkap;
                    PanelPelanggan2.Visible = Transaksi.IDPelanggan > 1;

                    if (PanelPelanggan2.Visible)
                    {
                        var Alamat = Transaksi.TBPelanggan.TBAlamats.FirstOrDefault();

                        LabelPelangganTelepon.Text = Alamat != null ? Alamat.Handphone : "";
                        LabelPelangganAlamat.Text  = Alamat != null ? Alamat.AlamatLengkap : "";
                    }

                    //STATUS TRANSAKSI
                    if (Transaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete)
                    {
                        LabelStatusTransaksi.CssClass = "label label-success";
                    }
                    else if (Transaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled)
                    {
                        LabelStatusTransaksi.CssClass = "label label-danger";
                    }
                    else
                    {
                        LabelStatusTransaksi.CssClass = "label label-primary";
                    }

                    LabelStatusTransaksi.Text = Transaksi.TBStatusTransaksi.Nama;
                    LabelJenisTransaksi.Text  = Transaksi.TBJenisTransaksi.Nama;

                    //KALKULASI TRANSAKSI
                    var SebelumDiscount = Transaksi.Subtotal + Transaksi.TotalPotonganHargaJualDetail;
                    var SetelahDiscount = Transaksi.Subtotal - Transaksi.PotonganTransaksi - Transaksi.TotalDiscountVoucher;

                    //TANGGAL
                    LabelTanggalOperasional.Text = Pengaturan.FormatTanggalHari(Transaksi.TanggalOperasional);
                    LabelTanggalTransaksi.Text   = Pengaturan.FormatTanggalJam(Transaksi.TanggalTransaksi);
                    LabelTanggalUpdate.Text      = Pengaturan.FormatTanggalJam(Transaksi.TanggalUpdate);

                    //BIAYA TAMBAHAN 1
                    LabelKeteranganBiayaTambahan1.Text = Transaksi.TBTempat.KeteranganBiayaTambahan1;
                    PanelBiayaTambahan11.Visible       = Pengaturan.FormatHarga(LabelBiayaTambahan1, Transaksi.BiayaTambahan1);

                    //BIAYA TAMBAHAN 2
                    LabelKeteranganBiayaTambahan2.Text = Transaksi.TBTempat.KeteranganBiayaTambahan2;
                    PanelBiayaTambahan12.Visible       = Pengaturan.FormatHarga(LabelBiayaTambahan2, Transaksi.BiayaTambahan2);

                    //BIAYA TAMBAHAN 3
                    LabelKeteranganBiayaTambahan3.Text = Transaksi.TBTempat.KeteranganBiayaTambahan3;
                    PanelBiayaTambahan13.Visible       = Pengaturan.FormatHarga(LabelBiayaTambahan3, Transaksi.BiayaTambahan3);

                    //BIAYA TAMBAHAN 4
                    LabelKeteranganBiayaTambahan4.Text = Transaksi.TBTempat.KeteranganBiayaTambahan4;
                    PanelBiayaTambahan14.Visible       = Pengaturan.FormatHarga(LabelBiayaTambahan4, Transaksi.BiayaTambahan4);

                    //DISCOUNT
                    var Discount = (Transaksi.TotalPotonganHargaJualDetail + Transaksi.PotonganTransaksi + Transaksi.TotalDiscountVoucher) * -1;
                    PanelDiscount.Visible = Pengaturan.FormatHarga(LabelDiscount, Discount);

                    //BIAYA PENGIRIMAN
                    PanelBiayaPengiriman1.Visible = Pengaturan.FormatHarga(LabelBiayaPengiriman, Transaksi.BiayaPengiriman);

                    //PEMBULATAN
                    PanelPembulatan1.Visible = Pengaturan.FormatHarga(LabelPembulatan, Transaksi.Pembulatan);

                    Pengaturan.FormatHarga(LabelSubtotal, SebelumDiscount);
                    Pengaturan.FormatHarga(LabelGrandTotal, Transaksi.GrandTotal);

                    //KETERANGAN
                    PanelKeterangan2.Visible = !string.IsNullOrWhiteSpace(Transaksi.Keterangan);

                    if (PanelKeterangan2.Visible)
                    {
                        LabelKeterangan.Text = Transaksi.Keterangan;
                    }

                    var TransaksiDetail = Transaksi.TBTransaksiDetails
                                          .Select(item => new
                    {
                        JumlahProduk = item.Quantity,
                        HargaJual    = item.HargaJual,
                        Subtotal     = item.Subtotal,
                        Produk       = item.TBKombinasiProduk.Nama,
                        TotalTanpaPotonganHargaJual = item.HargaJual * item.Quantity,
                        PotonganHargaJual           = item.Discount,
                        TotalPotonganHargaJual      = item.Discount * item.Quantity
                    }).ToArray();

                    RepeaterDetailTransaksi.DataSource = TransaksiDetail;
                    RepeaterDetailTransaksi.DataBind();

                    //PEMBAYARAN
                    var Pembayaran = Transaksi.TBTransaksiJenisPembayarans.ToArray();

                    TabelPembayaran.Visible = Pembayaran.Count() > 0;

                    if (TabelPembayaran.Visible)
                    {
                        RepeaterPembayaran.DataSource = Pembayaran;
                        RepeaterPembayaran.DataBind();

                        Pengaturan.FormatHarga(LabelTotalPembayaran, Pembayaran.Sum(item => item.Total));
                    }

                    Pengaturan.FormatHarga(LabelTotalQuantity1, Transaksi.JumlahProduk);

                    Pengaturan.FormatHarga(LabelDiscountSebelum, SebelumDiscount);

                    PanelDiscountDetailProduk.Visible    = Pengaturan.FormatHarga(LabelDiscountProduk, Transaksi.TotalPotonganHargaJualDetail * -1);
                    PanelDiscountDetailTransaksi.Visible = Pengaturan.FormatHarga(LabelDiscountTransaksi, Transaksi.PotonganTransaksi * -1);
                    PanelDiscountDetailVoucher.Visible   = Pengaturan.FormatHarga(LabelDiscountVoucher, Transaksi.TotalDiscountVoucher * -1);

                    PanelTotalDiscount.Visible = false; //Pengaturan.FormatHarga(LabelTotalDiscount, Discount);

                    PanelSetelahDiscount.Visible = !(SetelahDiscount == SebelumDiscount);
                    Pengaturan.FormatHarga(LabelDiscountSetelah, SetelahDiscount);

                    #region PRINT
                    LabelPrintStore.Text      = Transaksi.TBTempat.TBStore.Nama;
                    LabelPrintTempatNama.Text = Transaksi.TBTempat.Nama;
                    LabelTempatAlamat.Text    = Transaksi.TBTempat.Alamat;
                    LabelTempatTelepon.Text   = Transaksi.TBTempat.Telepon1;

                    LabelPrintIDOrder.Text  = Transaksi.IDTransaksi;
                    LabelPrintMeja.Text     = Transaksi.TBMeja.Nama;
                    LabelPrintPengguna.Text = Transaksi.TBPengguna.NamaLengkap;
                    LabelPrintTanggal.Text  = Pengaturan.FormatTanggal(Transaksi.TanggalTransaksi);

                    //JENIS PEMBAYARAN
                    if (Transaksi.TBTransaksiJenisPembayarans.Count > 0)
                    {
                        if (Transaksi.TBTransaksiJenisPembayarans.Count > 1)
                        {
                            LabelPrintJenisPembayaran.Text = "Multiple Payment"; //LEBIH DARI 1 PAYMENT
                        }
                        else
                        {
                            LabelPrintJenisPembayaran.Text = Transaksi.TBTransaksiJenisPembayarans.FirstOrDefault().TBJenisPembayaran.Nama;
                        }
                    }
                    else
                    {
                        LabelPrintJenisPembayaran.Text = "Awaiting Payment";
                    }

                    PanelPelanggan.Visible = Transaksi.TBPelanggan.IDPelanggan > 1;

                    if (PanelPelanggan.Visible)
                    {
                        LabelPrintPelangganNama.Text    = Transaksi.TBPelanggan.NamaLengkap;
                        LabelPrintPelangganTelepon.Text = Transaksi.TBPelanggan.Handphone;
                        LabelPrintPelangganAlamat.Text  = Transaksi.TBPelanggan.TBAlamats.Count > 0 ? Transaksi.TBPelanggan.TBAlamats.FirstOrDefault().AlamatLengkap : "";
                    }

                    RepeaterPrintTransaksiDetail.DataSource = TransaksiDetail;
                    RepeaterPrintTransaksiDetail.DataBind();

                    LabelPrintQuantity.Text = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
                    LabelPrintSubtotal.Text = Pengaturan.FormatHarga(Transaksi.TBTransaksiDetails.Sum(item => item.TotalHargaJual));

                    LabelPrintDiscountTransaksi.Text = Pengaturan.FormatHarga(Transaksi.TotalPotonganHargaJualDetail);

                    PanelDiscountTransaksi.Visible = LabelPrintDiscountTransaksi.Text != "0";

                    PanelBiayaTambahan1.Visible = Transaksi.BiayaTambahan1 > 0;

                    if (PanelBiayaTambahan1.Visible)
                    {
                        LabelPrintKeteranganBiayaTambahan1.Text = Transaksi.TBTempat.KeteranganBiayaTambahan1;
                        LabelPrintBiayaTambahan1.Text           = Pengaturan.FormatHarga(Transaksi.BiayaTambahan1);
                    }

                    PanelBiayaTambahan2.Visible = Transaksi.BiayaTambahan2 > 0;

                    if (PanelBiayaTambahan2.Visible)
                    {
                        LabelPrintKeteranganBiayaTambahan2.Text = Transaksi.TBTempat.KeteranganBiayaTambahan2;
                        LabelPrintBiayaTambahan2.Text           = Pengaturan.FormatHarga(Transaksi.BiayaTambahan2);
                    }

                    LabelPrintBiayaPengiriman.Text = Pengaturan.FormatHarga(Transaksi.BiayaPengiriman);

                    PanelBiayaPengiriman.Visible = LabelPrintBiayaPengiriman.Text != "0";


                    LabelPrintPembulatan.Text = Pengaturan.FormatHarga(Transaksi.Pembulatan);

                    PanelPembulatan.Visible = LabelPrintPembulatan.Text != "0";

                    LabelPrintGrandTotal.Text = Pengaturan.FormatHarga(Transaksi.GrandTotal);

                    PanelPembayaran.Visible = false;
                    //LabelPrintPembayaran

                    PanelKembalian.Visible = false;
                    //LabelPrintKembalian

                    PanelJenisPembayaran.Visible  = Transaksi.TBTransaksiJenisPembayarans.Count > 0;
                    PanelJenisPembayaran1.Visible = PanelJenisPembayaran.Visible;

                    if (PanelJenisPembayaran.Visible)
                    {
                        RepeaterPrintJenisPembayaran.DataSource = Transaksi.TBTransaksiJenisPembayarans.ToArray();
                        RepeaterPrintJenisPembayaran.DataBind();
                    }

                    PanelKeterangan.Visible  = !string.IsNullOrWhiteSpace(Transaksi.Keterangan);
                    PanelKeterangan1.Visible = PanelKeterangan.Visible;

                    LabelPrintKeterangan.Text = Transaksi.Keterangan;

                    if (!string.IsNullOrWhiteSpace(Transaksi.TBTempat.FooterPrint))
                    {
                        PanelFooter.Visible   = true;
                        PanelFooter1.Visible  = true;
                        LabelPrintFooter.Text = Transaksi.TBTempat.FooterPrint;
                    }
                    else
                    {
                        PanelFooter.Visible  = false;
                        PanelFooter1.Visible = false;
                    }
                    #endregion
                }
                else
                {
                    Response.Redirect("Transaksi.aspx");
                }
            }
        }
    }
    public Dictionary <string, dynamic> CustomerLocation(List <int> ListIDGrupPelanggan)
    {
        Dictionary <string, dynamic> Result = new Dictionary <string, dynamic>();

        TBTransaksi[] ListTransaksi = db.TBTransaksis.Where(item => item.TanggalTransaksi.Value.Date >= tanggalAwal && item.TanggalTransaksi.Value.Date <= tanggalAkhir &&
                                                            item.IDPelanggan > 1 && item.TBPelanggan.TBAlamats.Count > 0 && item.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled).ToArray();

        #region FILTER GRUP PELANGGAN
        if (ListIDGrupPelanggan.Count > 0)
        {
            JenisTransaksi_Class JenisTransaksi_Class = new JenisTransaksi_Class();
            string tempListGrupPelanggan = "Grup Pelanggan : ";

            foreach (var item in ListIDGrupPelanggan)
            {
                tempListGrupPelanggan += db.TBGrupPelanggans.FirstOrDefault(item2 => item2.IDGrupPelanggan == item).Nama + ", ";
            }

            Result.Add("ListGrupPelanggan", tempListGrupPelanggan.Substring(0, tempListGrupPelanggan.Length - 2));

            ListTransaksi = ListTransaksi.Where(item => ListIDGrupPelanggan.Contains(item.TBPelanggan.IDGrupPelanggan)).ToArray();
        }
        else
        {
            Result.Add("ListGrupPelanggan", "Semua Grup Pelanggan");
        }
        #endregion

        var Pelanggan = ListTransaksi
                        .GroupBy(item => item.TBPelanggan)
                        .Select(item => new
        {
            item.Key.TBAlamats,
            item.Key.IDGrupPelanggan,
            item.Key.IDPelanggan,
            item.Key.TBGrupPelanggan,
            Pelanggan       = item.Key.NamaLengkap,
            TanggalDaftar   = item.Key.TanggalDaftar,
            JumlahTransaksi = item.Count(),
            JumlahProduk    = item.Sum(item2 => item2.JumlahProduk),
            TotalDiskon     = item.Sum(item2 => (item2.TotalPotonganHargaJualDetail + item2.TotalDiscountVoucher + item2.PotonganTransaksi)),
            NetRevenue      = item.Sum(item2 => (item2.Subtotal + item2.TotalPotonganHargaJualDetail) - (item2.TotalPotonganHargaJualDetail + item2.TotalDiscountVoucher + item2.PotonganTransaksi) + item2.Pembulatan),
            Grandtotal      = item.Sum(item2 => item2.GrandTotal),
            StatusLama      = item.Key.TBTransaksis.Where(item2 => item2.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled).Count() > 1 ? true : false
        }).OrderByDescending(item => item.NetRevenue);

        tempPencarian += "?TanggalAwal=" + tanggalAwal;
        tempPencarian += "&TanggalAkhir=" + tanggalAkhir;

        var listBaru = Pelanggan.Where(item => item.TanggalDaftar.Value.Date >= tanggalAwal && item.TanggalDaftar.Value.Date <= tanggalAkhir);
        Result.Add("BaruJumlahTransaksi", Pengaturan.FormatHarga(listBaru.Count() > 0 ? listBaru.Sum(item => item.JumlahTransaksi) : 0));
        Result.Add("BaruJumlahProduk", Pengaturan.FormatHarga(listBaru.Count() > 0 ? listBaru.Sum(item => item.JumlahProduk) : 0));
        Result.Add("BaruGrandtotal", Pengaturan.FormatHarga(listBaru.Count() > 0 ? listBaru.Sum(item => item.Grandtotal) : 0));

        var listLama = Pelanggan.Where(item => item.StatusLama == true);
        Result.Add("LamaJumlahTransaksi", Pengaturan.FormatHarga(listLama.Count() > 0 ? listLama.Sum(item => item.JumlahTransaksi) : 0));
        Result.Add("LamaJumlahProduk", Pengaturan.FormatHarga(listLama.Count() > 0 ? listLama.Sum(item => item.JumlahProduk) : 0));
        Result.Add("LamaGrandtotal", Pengaturan.FormatHarga(listLama.Count() > 0 ? listLama.Sum(item => item.Grandtotal) : 0));

        var GrupPelanggan = ListTransaksi
                            .GroupBy(item => item.TBPelanggan.TBGrupPelanggan)
                            .Select(item => new
        {
            GrupPelanggan   = item.Key.Nama,
            JumlahTransaksi = item.Count(),
            JumlahProduk    = item.Sum(item2 => item2.JumlahProduk),
            Grandtotal      = item.Sum(item2 => item2.GrandTotal)
        }).OrderByDescending(item => item.Grandtotal);
        Result.Add("DataGrupPelanggan", GrupPelanggan);
        Result.Add("TotalGrupPelangganJumlahTransaksi", Pengaturan.FormatHarga(GrupPelanggan.Sum(item => item.JumlahTransaksi)));
        Result.Add("TotalGrupPelangganJumlahProduk", Pengaturan.FormatHarga(GrupPelanggan.Sum(item => item.JumlahProduk)));
        Result.Add("TotalGrupPelangganGrandtotal", Pengaturan.FormatHarga(GrupPelanggan.Sum(item => item.Grandtotal)));

        Result.Add("DataPelanggan", Pelanggan);
        Result.Add("TotalPelangganJumlahTransaksi", Pengaturan.FormatHarga(Pelanggan.Sum(item => item.JumlahTransaksi)));
        Result.Add("TotalPelangganJumlahProduk", Pengaturan.FormatHarga(Pelanggan.Sum(item => item.TotalDiskon)));
        Result.Add("TotalPelangganGrandtotal", Pengaturan.FormatHarga(Pelanggan.Sum(item => item.NetRevenue)));

        var Kota = Pelanggan.Where(item => item.TBAlamats.FirstOrDefault().IDNegara != null)
                   .GroupBy(item => item.TBAlamats.FirstOrDefault().TBWilayah.TBWilayah1)
                   .Select(item => new
        {
            item.Key,
            item.Key.IDWilayah,
            Kota            = item.Key.Nama,
            JumlahTransaksi = item.Sum(item2 => item2.JumlahTransaksi),
            TotalDiskon     = item.Sum(item2 => item2.TotalDiskon),
            NetRevenue      = item.Sum(item2 => item2.NetRevenue)
        }).OrderByDescending(item => item.NetRevenue);
        Result.Add("DataKota", Kota);
        Result.Add("TotalKotaJumlahTransaksi", Pengaturan.FormatHarga(Kota.Sum(item => item.JumlahTransaksi)));
        Result.Add("TotalKotaJumlahProduk", Pengaturan.FormatHarga(Kota.Sum(item => item.TotalDiskon)));
        Result.Add("TotalKotaGrandtotal", Pengaturan.FormatHarga(Kota.Sum(item => item.NetRevenue)));

        var Provinsi = Kota
                       .GroupBy(item => item.Key.TBWilayah1)
                       .Select(item => new
        {
            item.Key.IDWilayah,
            Provinsi        = item.Key.Nama,
            JumlahTransaksi = item.Sum(item2 => item2.JumlahTransaksi),
            TotalDiskon     = item.Sum(item2 => item2.TotalDiskon),
            NetRevenue      = item.Sum(item2 => item2.NetRevenue)
        }).OrderByDescending(item => item.NetRevenue);
        Result.Add("DataProvinsi", Provinsi);
        Result.Add("TotalProvinsiJumlahTransaksi", Pengaturan.FormatHarga(Provinsi.Sum(item => item.JumlahTransaksi)));
        Result.Add("TotalProvinsiJumlahProduk", Pengaturan.FormatHarga(Provinsi.Sum(item => item.TotalDiskon)));
        Result.Add("TotalProvinsiGrandtotal", Pengaturan.FormatHarga(Provinsi.Sum(item => item.NetRevenue)));
        if (excel)
        {
            #region EXCEL
            //Excel_Class Excel_Class = new Excel_Class(pengguna, "Transaksi", Periode, 27);
            //ExcelWorksheet Worksheet = Excel_Class.Worksheet;

            //Excel_Class.Header(1, "No.");
            //Excel_Class.Header(2, "Transaksi");

            //int index = 2;

            //foreach (var item in Data)
            //{
            //    Excel_Class.Content(index, 1, index - 1);
            //    Excel_Class.Content(index, 2, item.IDTransaksi);

            //    index++;
            //}

            //Excel_Class.Save();

            //linkDownload = Excel_Class.LinkDownload;
            #endregion
        }

        return(Result);
    }
Esempio n. 18
0
    private void LoadData()
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            #region DEFAULT
            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];
            TBStore       _store   = db.TBStores.FirstOrDefault();

            var Bulan = Request.QueryString["Bulan"];
            var Tahun = Request.QueryString["Tahun"];

            LabelPeriode.Text      = "Bulan " + Bulan + "/" + Tahun;
            LabelNamaPencetak.Text = Pengguna.NamaLengkap;
            LabelTanggalCetak.Text = DateTime.Now.ToString("d MMMM yyyy");

            LabelNamaStore.Text    = _store.Nama;
            LabelAlamatStore.Text  = _store.Alamat;
            LabelTeleponStore.Text = _store.TeleponLain + " / " + _store.Handphone;
            LabelWebsite.Text      = _store.Website;
            #endregion

            var _result = Akuntansi_Class.LaporanLabaRugi(Bulan, Tahun, false, Pengguna, "LabaRugi");

            RepeaterPemasukan.DataSource = _result["Pemasukan"];
            RepeaterPemasukan.DataBind();

            RepeaterPengeluaran.DataSource = _result["Pengeluaran"];
            RepeaterPengeluaran.DataBind();

            #region MOD TEST
            LabelPenjualan.Text          = _result["NamaAkunPenjualan"];
            LabelNominalPenjualan.Text   = Parse.ToFormatHarga(_result["NominalAkunPenjualan"]);
            LabelCOGS.Text               = _result["NamaAkunCOGS"];
            LabelNominalCOGS.Text        = Parse.ToFormatHarga(_result["NominalCOGS"]);
            LabelNominalGrossProfit.Text = Parse.ToFormatHarga(_result["NominalGrossProfit"]);
            LabelTotalOPEX.Text          = Parse.ToFormatHarga(_result["NominalOPEX"]);
            LabelNominalEBIT.Text        = Parse.ToFormatHarga(_result["NominalEBIT"]);
            #endregion

            RepeaterPemasukan.DataSource = _result["Pemasukan"];
            RepeaterPemasukan.DataBind();

            RepeaterPengeluaran.DataSource = _result["Pengeluaran"];
            RepeaterPengeluaran.DataBind();

            RepeaterPengeluaranTax.DataSource = _result["PengeluaranTax"];
            RepeaterPengeluaranTax.DataBind();

            var NetIncome = _result["NominalNetIncome"];

            if (NetIncome >= 0)
            {
                PanelProfit.Visible       = true;
                PanelLoss.Visible         = false;
                LabelNetIncomeProfit.Text = Pengaturan.FormatHarga(NetIncome);
            }
            else
            {
                PanelProfit.Visible     = false;
                PanelLoss.Visible       = true;
                LabelNetIncomeLoss.Text = Pengaturan.FormatHarga(NetIncome);
            }
        }
    }
Esempio n. 19
0
    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);
        }
    }
Esempio n. 20
0
    private void LoadDataStokProduk()
    {
        PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            var DataStokProduk = db.TBStokProduks
                                 .Where(item =>
                                        item.TBKombinasiProduk.TBProduk._IsActive &&
                                        item.IDTempat == Pengguna.IDTempat)
                                 .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();

            if (DropDownListJenisStok.SelectedValue == "1")
            {
                DataStokProduk = DataStokProduk.Where(item => item.Jumlah > 0).ToArray();
            }
            else if (DropDownListJenisStok.SelectedValue == "2")
            {
                DataStokProduk = DataStokProduk.Where(item => item.Jumlah == 0).ToArray();
            }
            else if (DropDownListJenisStok.SelectedValue == "3")
            {
                DataStokProduk = DataStokProduk.Where(item => item.Jumlah < 0).ToArray();
            }

            if (!string.IsNullOrWhiteSpace(TextBoxCariKode.Text))
            {
                DataStokProduk = DataStokProduk.Where(item => item.Kode.ToLower().Contains(TextBoxCariKode.Text.ToLower())).ToArray();
                TextBoxCariKode.Focus();
            }

            if (!string.IsNullOrWhiteSpace(TextBoxCariProduk.Text))
            {
                DataStokProduk = DataStokProduk.Where(item => item.Produk.ToLower().Contains(TextBoxCariProduk.Text.ToLower())).ToArray();
                TextBoxCariProduk.Focus();
            }

            if (DropDownListCariKategori.SelectedValue != "0")
            {
                DataStokProduk = DataStokProduk.Where(item => item.Kategori == DropDownListCariKategori.SelectedItem.Text).ToArray();
                DropDownListCariKategori.Focus();
            }

            if (DropDownListCariPemilik.SelectedValue != "0")
            {
                DataStokProduk = DataStokProduk.Where(item => item.PemilikProduk == DropDownListCariPemilik.SelectedItem.Text).ToArray();
                DropDownListCariPemilik.Focus();
            }

            RepeaterStokKombinasiProduk.DataSource = DataStokProduk;
            RepeaterStokKombinasiProduk.DataBind();

            if (DataStokProduk.Count() > 0)
            {
                LabelTotalJumlahStok.Text = Pengaturan.FormatHarga(DataStokProduk.Sum(item => item.Jumlah));
            }
            else
            {
                LabelTotalJumlahStok.Text = "0";
            }
        }
    }
Esempio n. 21
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 = "";
        }
    }
Esempio n. 22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Transaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == Request.QueryString["id"]);

                if (Transaksi != null)
                {
                    #region TRANSAKSI PRINT LOG
                    TransaksiPrintLog_Class TransaksiPrintLog_Class = new TransaksiPrintLog_Class(db);
                    TransaksiPrintLog_Class.Tambah(EnumPrintLog.Invoice, Transaksi.IDTransaksi);
                    db.SubmitChanges();
                    #endregion

                    var DetailPembayaran = db.TBTransaksiJenisPembayarans.Where(item => item.IDTransaksi == Request.QueryString["id"]).Select(item => new
                    {
                        Nama  = item.TBJenisPembayaran.Nama,
                        Total = item.Bayar,
                    });

                    RepeaterPembayaran.DataSource = DetailPembayaran;
                    RepeaterPembayaran.DataBind();


                    var Store  = Transaksi.TBTempat.TBStore;
                    var Tempat = Transaksi.TBTempat;

                    LabelFooterPrint.Text = Tempat.FooterPrint;

                    LabelNamaStore.Text        = Store.Nama + " - " + Tempat.Nama;
                    LabelAlamatStore.Text      = Tempat.Alamat;
                    LabelTeleponStore.Text     = Tempat.Telepon1;
                    LabelWebsite.Text          = Store.Website;
                    HyperLinkEmail.Text        = Tempat.Email;
                    HyperLinkEmail.NavigateUrl = Tempat.Email;

                    LabelIDTransaksi.Text      = Transaksi.IDTransaksi;
                    LabelTanggalTransaksi.Text = Pengaturan.FormatTanggal(Transaksi.TanggalTransaksi);
                    LabelNamaPelanggan.Text    = Transaksi.TBPelanggan.NamaLengkap;

                    if (Transaksi.IDPelanggan != 1)
                    {
                        var Alamat = Transaksi.TBAlamat;

                        LabelAlamatPelanggan.Text  = Alamat.AlamatLengkap;
                        LabelTeleponPelanggan.Text = Alamat.Handphone;
                    }

                    LabelJenisPembayaran.Text = Transaksi.TBJenisPembayaran.Nama;
                    LabelStatusTransaksi.Text = Transaksi.TBStatusTransaksi.Nama;

                    RepeaterDetailTransaksi.DataSource = Transaksi.TBTransaksiDetails
                                                         .Select(item => new
                    {
                        Kode              = item.TBKombinasiProduk.KodeKombinasiProduk,
                        Nama              = item.TBKombinasiProduk.Nama,
                        Kategori          = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                        JumlahProduk      = item.Quantity,
                        HargaJual         = item.HargaJual,
                        PotonganHargaJual = item.Discount,
                        Persentase        = item.HargaJual > 0 ? item.Discount / item.HargaJual * 100 : 0,
                        item.Subtotal
                    })
                                                         .OrderBy(item => item.Nama)
                                                         .ToArray();
                    RepeaterDetailTransaksi.DataBind();

                    LabelTotalQuantity.Text = Pengaturan.FormatHarga(Transaksi.JumlahProduk);
                    LabelSubtotal.Text      = Pengaturan.FormatHarga(Transaksi.Subtotal);

                    //Discount
                    LabelSebelumDiscount.Text = Pengaturan.FormatHarga(Transaksi.Subtotal + Transaksi.TotalDiscountVoucher + Transaksi.PotonganTransaksi + Transaksi.TotalPotonganHargaJualDetail);
                    LabelDiscountProduk.Text  = Pengaturan.FormatHarga(Transaksi.TotalPotonganHargaJualDetail);

                    LabelDiscountTransaksi.Text = Pengaturan.FormatHarga(Transaksi.PotonganTransaksi);

                    if (LabelDiscountTransaksi.Text == "0")
                    {
                        panelDiscountTransaksi.Attributes.Add("style", "display: none;");
                        LabelDiscountTransaksi.Attributes.Add("style", "display: none;");
                    }
                    else
                    {
                        panelDiscountTransaksi.Attributes.Add("style", "");
                        LabelDiscountTransaksi.Attributes.Add("style", "");
                    }

                    //Charge
                    if (Transaksi.IDJenisBebanBiaya == (int)PilihanJenisBebanBiaya.BebanCustomer)
                    {
                        LabelCharge.Text = Pengaturan.FormatHarga(Transaksi.BiayaJenisPembayaran);
                    }
                    else
                    {
                        LabelCharge.Text = "0";
                    }

                    if (LabelCharge.Text == "0")
                    {
                        panelCharge.Attributes.Add("style", "display: none;");
                        LabelCharge.Attributes.Add("style", "display: none;");
                    }
                    else
                    {
                        panelCharge.Attributes.Add("style", "");
                        LabelCharge.Attributes.Add("style", "");
                    }

                    //Biaya Tambahan
                    LabelKeteranganBiayaTambahan.Text = Tempat.KeteranganBiayaTambahan1;
                    LabelBiayaTambahan.Text           = Pengaturan.FormatHarga(Transaksi.BiayaTambahan1);

                    if (LabelBiayaTambahan.Text == "0")
                    {
                        LabelKeteranganBiayaTambahan.Attributes.Add("style", "display: none;");
                        LabelBiayaTambahan.Attributes.Add("style", "display: none;");
                    }
                    else
                    {
                        LabelKeteranganBiayaTambahan.Attributes.Add("style", "");
                        LabelBiayaTambahan.Attributes.Add("style", "");
                    }

                    LabelBiayaPengiriman.Text = Pengaturan.FormatHarga(Transaksi.BiayaPengiriman);

                    if (LabelBiayaPengiriman.Text == "0")
                    {
                        panelBiayaPengiriman.Attributes.Add("style", "display: none;");
                        LabelBiayaPengiriman.Attributes.Add("style", "display: none;");
                    }
                    else
                    {
                        panelBiayaPengiriman.Attributes.Add("style", "");
                        LabelBiayaPengiriman.Attributes.Add("style", "");
                    }

                    LabelPembulatan.Text = Pengaturan.FormatHarga(Transaksi.Pembulatan);

                    if (LabelPembulatan.Text == "0")
                    {
                        panelPembulatan.Attributes.Add("style", "display: none;");
                        LabelPembulatan.Attributes.Add("style", "display: none;");
                    }
                    else
                    {
                        panelPembulatan.Attributes.Add("style", "");
                        LabelPembulatan.Attributes.Add("style", "");
                    }

                    LabelGrandTotal.Text = Pengaturan.FormatHarga(Transaksi.GrandTotal);
                    LabelKeterangan.Text = Transaksi.Keterangan;

                    LabelNamaPengirim.Text = Transaksi.TBPengguna.NamaLengkap;
                    LabelNamaPenerima.Text = Transaksi.TBPelanggan.NamaLengkap;

                    LabelTotalBayar.Text = Pengaturan.FormatHarga(DetailPembayaran.Sum(item => item.Total));
                    LabelSisaBayar.Text  = Pengaturan.FormatHarga(Transaksi.GrandTotal - (DetailPembayaran.Sum(item => item.Total) == null ? 0 : DetailPembayaran.Sum(item => item.Total)));
                }
                else
                {
                    Response.Redirect("Transaksi.aspx");
                }
            }
        }
    }
Esempio n. 23
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var Transaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == Request.QueryString["id"]);
                if (Transaksi != null)
                {
                    if (Transaksi.TBTempat1.TBKategoriTempat.IDKategoriTempat == 7)
                    {
                        PanelLogo.Visible = false;
                    }
                    else
                    {
                        PanelLogo.Visible = true;
                    }

                    var Store  = Transaksi.TBTempat.TBStore;
                    var Tempat = Transaksi.TBTempat;

                    LabelFooterPrint.Text = Transaksi.TBTempat.FooterPrint;

                    LabelIDTransaksi.Text      = Transaksi.IDTransaksi;
                    LabelTanggalTransaksi.Text = Pengaturan.FormatTanggal(Transaksi.TanggalTransaksi);
                    LabelNamaPelanggan.Text    = "TO : " + Transaksi.TBPelanggan.NamaLengkap;

                    if (Transaksi.IDPelanggan > 1)
                    {
                        var Alamat = Transaksi.TBPelanggan.TBAlamats.FirstOrDefault();

                        if (Alamat != null)
                        {
                            LabelAlamatPelanggan.Text  = Alamat.AlamatLengkap;
                            LabelTeleponPelanggan.Text = Alamat.Handphone;
                        }
                    }

                    LabelJenisPembayaran.Text = Transaksi.TBJenisPembayaran.Nama;
                    LabelStatusTransaksi.Text = Transaksi.TBStatusTransaksi.Nama;

                    var TransaksiDetail = Transaksi.TBTransaksiDetails.ToArray();

                    RepeaterDetailTransaksi.DataSource = TransaksiDetail
                                                         .Select(item => new
                    {
                        Kode     = item.TBKombinasiProduk.KodeKombinasiProduk,
                        Nama     = item.TBKombinasiProduk.Nama,
                        Kategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                        item.Quantity
                    })
                                                         .OrderBy(item => item.Nama);
                    RepeaterDetailTransaksi.DataBind();

                    LabelTotalQuantity.Text = Pengaturan.FormatHarga(TransaksiDetail.Sum(item => item.Quantity));

                    //LabelKeterangan.Text = Transaksi.Keterangan + "<br/>" + Transaksi.TBTempat1.Nama +
                    //     " / " + Transaksi.TBTempat1.Telepon1;

                    LabelKeterangan.Text = Transaksi.TBTempat1.Nama +
                                           " / " + Transaksi.TBTempat1.Telepon1;
                }
                else
                {
                    Response.Redirect("Transaksi.aspx");
                }
            }
        }
    }
Esempio n. 24
0
    protected void RepeaterTransaksi_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        MultiViewTransaksi.SetActiveView(ViewDetail);
        ButtonCetakInvoice.Visible     = true;
        ButtonCetakPackingSlip.Visible = true;

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            var Transaksi = db.TBTransaksis.FirstOrDefault(item => item.IDTransaksi == e.CommandArgument.ToString());

            if (Transaksi != null)
            {
                ButtonCetakInvoice.OnClientClick     = "return popitup('/WITPointOfSales/Invoice.aspx?id=" + Transaksi.IDTransaksi + "')";
                ButtonCetakPackingSlip.OnClientClick = "return popitup('/WITPointOfSales/PackingSlip.aspx?id=" + Transaksi.IDTransaksi + "')";

                LabelIDTransaksi.Text = Transaksi.IDTransaksi;
                LabelTempat.Text      = Transaksi.TBTempat.Nama;

                //PENGGUNA
                LabelPenggunaTransaksi.Text = Transaksi.TBPengguna.NamaLengkap;
                LabelPenggunaUpdate.Text    = Transaksi.IDPenggunaUpdate != null ? Transaksi.TBPengguna2.NamaLengkap : " ";
                LabelPenggunaBatal.Text     = Transaksi.IDPenggunaBatal != null ? Transaksi.TBPengguna4.NamaLengkap : " ";

                //PELANGGAN
                LabelPelangganNama.Text = Transaksi.TBPelanggan.NamaLengkap;
                var Alamat = Transaksi.TBPelanggan.TBAlamats.FirstOrDefault();

                LabelPelangganTelepon.Text = Alamat != null ? Alamat.Handphone : "";
                LabelPelangganAlamat.Text  = Alamat != null ? Alamat.AlamatLengkap : "";

                //STATUS TRANSAKSI
                LabelStatusTransaksi.Text = Manage.HTMLStatusTransaksi(Transaksi.IDStatusTransaksi.Value);

                //KALKULASI TRANSAKSI
                var SebelumDiscount = Transaksi.Subtotal + Transaksi.TotalPotonganHargaJualDetail;
                var SetelahDiscount = Transaksi.Subtotal - Transaksi.PotonganTransaksi - Transaksi.TotalDiscountVoucher;

                //TANGGAL
                LabelTanggalOperasional.Text = Pengaturan.FormatTanggalHari(Transaksi.TanggalOperasional);
                LabelTanggalTransaksi.Text   = Pengaturan.FormatTanggalJam(Transaksi.TanggalTransaksi);
                LabelTanggalUpdate.Text      = Pengaturan.FormatTanggalJam(Transaksi.TanggalUpdate);

                //BIAYA PENGIRIMAN
                Pengaturan.FormatHarga(LabelBiayaPengiriman, Transaksi.BiayaPengiriman);

                //PEMBULATAN
                Pengaturan.FormatHarga(LabelPembulatan, Transaksi.Pembulatan);

                Pengaturan.FormatHarga(LabelSubtotal, SebelumDiscount);
                Pengaturan.FormatHarga(LabelGrandTotal, Transaksi.GrandTotal);

                //KETERANGAN
                LabelKeterangan.Text = Transaksi.Keterangan;

                var TransaksiDetail = Transaksi.TBTransaksiDetails
                                      .Select(item => new
                {
                    JumlahProduk = item.Quantity,
                    HargaJual    = item.HargaJual,
                    Subtotal     = item.Subtotal,
                    Produk       = item.TBKombinasiProduk.Nama,
                    TotalTanpaPotonganHargaJual = item.HargaJual * item.Quantity,
                    PotonganHargaJual           = item.Discount,
                    TotalPotonganHargaJual      = item.Discount * item.Quantity
                }).ToArray();

                RepeaterDetailTransaksi.DataSource = TransaksiDetail;
                RepeaterDetailTransaksi.DataBind();

                //PEMBAYARAN
                var Pembayaran = Transaksi.TBTransaksiJenisPembayarans.ToArray();

                RepeaterPembayaran.DataSource = Pembayaran;
                RepeaterPembayaran.DataBind();

                Pengaturan.FormatHarga(LabelTotalPembayaran, Pembayaran.Sum(item => item.Total));
                Pengaturan.FormatHarga(LabelTotalQuantity1, Transaksi.JumlahProduk);

                Pengaturan.FormatHarga(LabelDiscount, Transaksi.TotalPotonganHargaJualDetail * -1);
            }
            else
            {
                Response.Redirect("Transaksi.aspx");
            }
        }
    }