<!-- DataTables -->
<link rel="stylesheet"
	  href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css"/>
<link rel="stylesheet" href="<?php echo base_url('bower_components/toastr/toastr.css') ?>">

<div class="content-wrapper">
<?php
	use Carbon\Carbon;
	function toLocateDate($date , $timezone){
		if($date){
			$carbon = Carbon::createFromFormat('Y-m-d H:i:s', $date, 'UTC');
			$carbon->setTimezone($timezone);
			return $carbon->toDateTimeString();
		}
		return $date;
	}
?>
	<!-- Content Header (Page header) -->
	<section class="content-header">

		<h1>
			<?php echo isset($category) ? 'Wallet' :  $this->lang->line('Gestion des wallets') ; echo ' '.$network.' - '.$country; ?>
<!--			<input type="button" class="btn btn-primary pull-right" id="Bactiver"-->
<!--				   value="Activer/Désactiver le(s) réseau(x)" />-->
		</h1>
		<?php
		$site_url = base_url();

		if ($alert == "ok") {

			if (!$success == "ok") {
				?>
				<div class='alert alert-danger alert-dismissible col-xs-6'>
					<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
					<h4><i class='icon fa fa-ban'></i> Erreur!</h4>
					<?php echo $message; ?>
				</div>

				<?php
			} else {
				?>
				<div class="alert alert-success alert-dismissible col-xs-6">
					<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
					<h4><i class="icon fa fa-check"></i> Success!</h4>
					<?php echo $message; ?>
				</div>

				<?php
			}
		}
		?>
	</section>
	<section class="content">
		<div class="row">
			<div class="col-md-4 col-sm-6 col-xs-12">
				<div class="info-box">
					<span class="info-box-icon bg-aqua"><i class="ion ion-android-time"></i></span>
					<div class="info-box-content">
						<span class="info-box-text"><?php echo $this->lang->line('Période') ?> </span>
						<span class="info-box-number">
                                    <input id="picker"
										style="background: #fff; cursor: pointer; padding: 1px 1px; border: 1px solid #ccc; width: 100%" data-category="<?php echo isset($category) ? $category : null ?>"
										type="text" name="daterange" data-lang="<?php echo $this->session->userdata('site_lang') ?>"
										value="<?php echo ($startDate!=null & $endDate != null) ?  $startDate. ' - '.$endDate : ''?>"/>
                                    
						</span>
						<span> Format : <?php echo $this->session->userdata('site_lang') === 'french' ? 'Jour - Mois - Année ' : 'Year - Month - Day'?> </span>
					</div>
				</div>
			</div>

		</div>
		<div class="row">
			<div class="col-xs-12">
				<div class="box">
					<div class="box-header">
						<h3 class="box-title"><?php echo $this->lang->line('Historique des transactions') ?></h3>
					</div>
					<div class="box-body" style="overflow-x:auto;">
						<?php
						if($transactions){
							$numrows = $transactions->num_rows();
							$num = 0;
							if ($numrows > 0) {
							$fmt = new NumberFormatter( 'fr_FR', NumberFormatter::DECIMAL );
							?>

							<table id="transactions" class="table table-bordered table-striped">
								<thead>
								<tr>
									<th align='center'>ID</th>
									<th align='center'>Type</th>
									<th><?php echo $this->lang->line('cart_number') ?></th>
									<th><?php echo $this->lang->line('customer_net_amount') ?></th>
									<th><?php echo $this->lang->line('bank_deposit_amount') ?></th>
									<th><?php echo $this->lang->line('Commission de la banque') ?></th>
									<th><?php echo $this->lang->line('Commission de l\'hyperviseur') ?></th>
									<th><?php echo $this->lang->line('Commission du superviseur') ?></th>
									<th><?php echo $this->lang->line('Commission de l\'agent') ?></th>
									<th><?php echo $this->lang->line('agent_name') ?></th>
									<th align='center'>Date</th>
									<?php if ($this->session->userdata('category') != 'super') { ?>
										<th align='center'>Action</th>
									<?php } ?>
								</tr>
								</thead>
								<tbody>

								<?php
									$config = $configWallet->first_row();
								foreach ($transactions->result() as $row) {
									$num++;
									$type = $row->type_transac == 'credit' ? $this->lang->line('DEPOT')  : $this->lang->line('RETRAIT');

									$net = 0;
									$banque = 0;
									if($row->type_transac == 'credit'){
										if($row->montant < 0){
											$commission = (-$row->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
											$net = $row->montant + $commission;
										}else{
											$commission = ( $row->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
											$net = $row->montant - $commission;
										}
										$banque = $row->montant * (1 - ($config->taux_com_client_depot / 100));
									}else{
										$net = $row->montant ;
									}
									echo "<tr>
											<td align='center' >$row->id</td>
											<td>".strtoupper($type)."</td>
											<td>".join(" ", str_split($row->numCarte, 4))."</td>
											<td>".$fmt->format($net)."</td>
											<td>".($row->type_transac == 'credit' ? $fmt->format($banque) : "")."</td>
											<td>".$fmt->format( $row->commission_banque)."</td>
											<td>".$fmt->format( $row->commission_hyp)."</td>
											<td>".$fmt->format( $row->commission_sup)."</td>
											<td>".$fmt->format( $row->commission_ag)."</td>
											<td>".$row->agent."</td>
											<td>".toLocateDate($row->date_created,$this->session->userdata('timezone'))."</td>";
								?>
									<?php if ($this->session->userdata('category') != 'super') { ?>
											<td>
											<button data-id-transaction="<?= $row->id ?>" id="cancel" class="btn btn-danger btn-block" <?php if($row->canceled) echo "disabled"?> >
												<b><?php echo $this->lang->line('cancel')?></b>
											</button>
											</td>
									<?php } ?>
											 </tr>

								<?php
									}
								?>
								</tbody>

								<?php
								} else {
									echo $this->lang->line('Aucune transaction');
								}
						}else {
							 echo $this->lang->line('Aucune transaction');
							}
						?>

						</table>

					</div>
				</div>
			</div>
		</div>
	</section>


</div>
<!-- jQuery 3 -->
<script src="<?php echo base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
<!-- Bootstrap 3.3.7 -->
<script src="<?php echo base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
<!-- DataTables -->
<script src="<?php echo base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
<script src="<?php echo base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
<!-- SlimScroll -->
<script src="<?php echo base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
<!-- FastClick -->
<script src="<?php echo base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
<!-- AdminLTE App -->
<script src="<?php echo base_url('dist/js/adminlte.min.js') ?>"></script>
<!-- AdminLTE for demo purposes -->
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>

<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment-with-locales.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.19/sorting/datetime-moment.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.20/dataRender/datetime.js"></script>
<script src="<?php echo base_url('dist/js/sweetalert2.js') ?>"></script>
<script src="<?php echo base_url('bower_components/toastr/toastr.js') ?>"></script>


<script>
	$(function () {
		const lang =  $('#picker').data('lang');
		const format = lang === 'french' ? 'fr' : 'en';
		moment.updateLocale(moment.locale(format), { invalidDate: "" }); // Blank text when is invalid date
		$('#transactions').DataTable({
			"aaSorting": [[ 0, "desc" ]],
			"columnDefs": [ {
				targets: 10,
				render: $.fn.dataTable.render.moment( 'YYYY-MM-DD HH:mm:ss' , 'D MMMM YYYY HH:mm:ss', format)
			}]
		});
	});
</script>

<script type="text/javascript">
	var startDate;
	var endDate;

	$(function () {
		const lang =  $('#picker').data('lang');
		const category =  $('#picker').data('category');
		$('input[name="daterange"]').daterangepicker({
			opens: 'left',
			autoUpdateInput: false,
			locale: {
				format: lang === 'french' ? 'DD-MM-YYYY' : 'YYYY-MM-DD',
				cancelLabel: 'Clear'
			}
		}, function (start, end, label) {
			const debut = start.format('YYYY-MM-DD');
			const fin = end.format('YYYY-MM-DD');
			if(category)
				window.location = "<?php echo current_url()?>" + "?history=transaction" + "&d=" + debut + "&f=" + fin;
			else
				window.location = "<?php echo current_url()?>" + "?id=118&history=transaction" + "&d=" + debut + "&f=" + fin;

		});

		$('input[name="daterange"]').on('cancel.daterangepicker', function(ev, picker) {
			//do something, like clearing an input
			$('#daterange').val('');
			if(category)
				window.location = "<?php echo current_url()?>" + "?history=transaction";
			else
				window.location = "<?php echo current_url()?>" + "?id=118&history=transaction";
		});
	});

</script>
<script>
	$(document).on("click", "#cancel", function () {
		const id_transaction = $(this).data('id-transaction');
		$.ajax({
			url : '<?php echo base_url('index.php/Gestion/cancelTransation')?>',
			type : 'POST',
			dataType : 'json',
			data: {"id_transaction": id_transaction},
			async:true,
			success : function(data){
				if(data){
					Swal.fire({
						icon: 'success',
						title: "<?php echo $this->lang->line('canceled_transaction')?>",
						text: "<?php echo $this->lang->line('informations_updated')?>",
						timer: 3000
					}).then(()=>{
						location.reload();
					});
					// alert("Les informations ont été mises à jour.") ? "" : location.reload();
				}else{
					toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
				}
			},

			error : function(resultat, statut, erreur){
				console.log(resultat+" "+erreur);
				toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
			}
		});
	});
</script>
