public ActionResult CetakTransaksi(string kodeTransaksi)
        {
            var transaksiSatuan = _db.TransaksiSatuans.Where(x => x.Kode == kodeTransaksi).SingleOrDefault();

            var model = new ProsesSatuanViewModel
            {
                Kode      = transaksiSatuan.Kode,
                Pelanggan = new PelangganViewModel
                {
                    NoKtp  = transaksiSatuan.PelangganFK.NoKtp,
                    Nama   = transaksiSatuan.PelangganFK.Nama,
                    Alamat = transaksiSatuan.PelangganFK.Alamat,
                    Hp     = transaksiSatuan.PelangganFK.Hp
                },
                UangMuka       = transaksiSatuan.UangMuka,
                TotalBayar     = transaksiSatuan.TotalBayar,
                NamaCounter    = transaksiSatuan.CounterFK.Nama,
                Staff          = transaksiSatuan.StaffFK.UserName,
                TanggalMasuk   = transaksiSatuan.TanggalMasuk,
                TanggalSelesai = transaksiSatuan.TanggalKeluar.GetValueOrDefault()
            };

            var details = new List <ProsesSatuanDetailViewModel>();

            foreach (var detil in transaksiSatuan.TransaksiSatuanDetilFK)
            {
                var detailModel = new ProsesSatuanDetailViewModel
                {
                    Jumlah     = detil.Jumlah,
                    KodeBarang = detil.KodeBarang,
                    Barang     = new BarangViewModel
                    {
                        Nama         = detil.BarangFK.Nama,
                        TipeCuciNama = detil.BarangFK.TipeCuciFK.Tipe,
                        Harga        = detil.BarangFK.Harga
                    }
                };

                details.Add(detailModel);
            }

            model.Detail = details;

            return(View(model));
        }
        public ActionResult SimpanTransaksiSatuan(string[][] daftarCucian)
        {
            var daftarDetail = new List <ProsesSatuanDetailViewModel>();

            for (var i = 0; i < daftarCucian.Length; i++)
            {
                var detail = new ProsesSatuanDetailViewModel
                {
                    KodeBarang = int.Parse(daftarCucian[i][0]),
                    Jumlah     = int.Parse(daftarCucian[i][1])
                };

                daftarDetail.Add(detail);
            }

            var prosesSatuan = new ProsesSatuanViewModel
            {
                Pelanggan = new PelangganViewModel
                {
                    Nama   = daftarCucian[0][2],
                    Hp     = daftarCucian[0][3],
                    NoKtp  = daftarCucian[0][4],
                    Alamat = daftarCucian[0][5]
                },
                UangMuka = int.Parse(daftarCucian[0][6]),
                Detail   = daftarDetail
            };

            var pelangganAda = _db.Pelanggans.Where(x => x.NoKtp == prosesSatuan.Pelanggan.NoKtp).Any();

            if (!pelangganAda)
            {
                SimpanDataPelanggan(prosesSatuan.Pelanggan);
            }

            var kodeTransaksiSatuan = SimpanTransaksiSatuan(prosesSatuan);

            return(Json(kodeTransaksiSatuan, JsonRequestBehavior.AllowGet));
        }