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); }
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(); } }
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; }
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 + ")" : " ", 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"); } } } }
public static string CekNullValueHarga(object value) { if (value == null) { return("0"); } else { return(Pengaturan.FormatHarga(value.ToString())); } }
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); }
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); }
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; }
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(); }
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); } }
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); }
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); }
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"); } } } }
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 } }
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); }
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); } } }
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); } }
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"; } } }
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 = ""; } }
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"); } } } }
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"); } } } }
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"); } } }