protected void RepeaterTransaksiSplitBill_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Pindah") { Transaksi_Class TransaksiAwal = (Transaksi_Class)ViewState["TransaksiAwal"]; Transaksi_Class TransaksiTujuan = (Transaksi_Class)ViewState["TransaksiTujuan"]; //MENCARI DETAIL BERDASARKAN ID DETAIL TRANSAKSI var DetailTujuan = TransaksiTujuan.Detail .FirstOrDefault(item => item.IDDetailTransaksi == Parse.Int(e.CommandArgument.ToString())); int jumlahTransaksi = 0; int jumlahSplitBill = 0; if (DetailTujuan.Quantity > 0) { jumlahSplitBill = 1; jumlahTransaksi = -1; } else { jumlahSplitBill = -1; jumlahTransaksi = 1; } //MENCARI APAKAH DETAIL ADA DI TRANSAKSI AWAL var DetailAwal = TransaksiAwal.Detail .FirstOrDefault(item => item.IDKombinasiProduk == DetailTujuan.IDKombinasiProduk && item.HargaBeli == DetailTujuan.HargaBeli && item.HargaJual == DetailTujuan.HargaJual && item.Discount == DetailTujuan.Discount); if (DetailAwal == null) { //JIKA TIDAK ADA DI TRANSAKSI AWAL MEMBUAT DETAIL BARU DetailAwal = new TransaksiRetailDetail_Model { IDDetailTransaksi = TransaksiAwal.IDDetailTransaksiTemp, IDKombinasiProduk = DetailTujuan.IDKombinasiProduk, IDStokProduk = DetailTujuan.IDStokProduk, Barcode = DetailTujuan.Barcode, Nama = DetailTujuan.Nama, Quantity = jumlahSplitBill, Berat = DetailTujuan.Berat, HargaBeliKotor = DetailTujuan.HargaBeliKotor, HargaJual = DetailTujuan.HargaJual, DiscountStore = DetailTujuan.DiscountStore, DiscountKonsinyasi = DetailTujuan.DiscountKonsinyasi, Keterangan = DetailTujuan.Keterangan //UbahQuantity }; TransaksiAwal.Detail.Add(DetailAwal); } else //JIKA DI TRANSAKSI AWAL ADA DETAIL { TransaksiAwal.TambahKurangJumlahProduk(DetailAwal.IDDetailTransaksi, jumlahSplitBill); } //MELAKUKAN PENGATURAN JUMLAH DETAIL AWAL TransaksiTujuan.TambahKurangJumlahProduk(Parse.Int(e.CommandArgument.ToString()), jumlahTransaksi); LoadData(); } }