private void StoreDataToDatabase(DataDeduct dataDeduct, PassKadeOutResponse passKadeOutResponse) { try { // store deduct result card to server string result = dataDeduct.DeductResult; int amount = dataDeduct.Amount; string created = dataDeduct.CreatedDatetime; string bank = dataDeduct.Bank; string ipv4 = dataDeduct.IpAddress; string operatorName = dataDeduct.OperatorName; string idReader = dataDeduct.IdReader; int parkingOutId = passKadeOutResponse.ParkingOutId; string query = "INSERT INTO deduct_card_results (parking_out_id, result, amount, transaction_dt, bank, ipv4, operator, ID_reader, created) VALUES('" + parkingOutId + "', '" + result + "', '" + amount + "', '" + created + "', '" + bank + "', '" + ipv4 + "', '" + operatorName + "', '" + idReader + "', '" + created + "')"; database.Insert(query); } catch (Exception ex) { notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", ex.Message, ToolTipIcon.Error); return; } }
private void btnSave_Click(object sender, EventArgs e) { string feedback = ValidateFields(); if (feedback == Constant.MESSAGE_OK) { // check the payment method whether it's cash or non-cash int totalFare = TKHelper.IDRToNominal(txtGrandTotal.Text.ToString()); string paymentMethod = nonCash.Checked ? "NCSH" : "CASH"; if (paymentMethod == "NCSH") { string bankCode = "BNI"; string ipv4 = TKHelper.GetLocalIPAddress(); string TIDSettlement = Properties.Settings.Default.TID; string operator_name = Properties.Settings.Default.Username; // need to disconnect SCard from WinsCard.dll beforehand in order to execute further actions to avoid 'Outstanding Connection' Exception. mifareCard.disconnect(); DataDeduct responseDeduct = bni.DeductBalance(bankCode, ipv4, TIDSettlement, operator_name); if (!responseDeduct.IsError) { string base64WebcamImage = CameraHelper.CaptureWebcamImage(camera, webcamImage); string base64LiveCameraSnapshot = CameraHelper.SnapshotLiveCamera(); if (!string.IsNullOrEmpty(base64LiveCameraSnapshot)) { PassKadeOutResponse passKadeOutResponse = SendDataToServer(totalFare, base64WebcamImage, base64LiveCameraSnapshot, paymentMethod, bankCode); if (passKadeOutResponse != null) { StoreDataToDatabase(responseDeduct, passKadeOutResponse); notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Success", Constant.TRANSACTION_SUCCESS, ToolTipIcon.Info); Clear(); } } } else { notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", responseDeduct.Message, ToolTipIcon.Error); } } else { string base64WebcamImage = CameraHelper.CaptureWebcamImage(camera, webcamImage); string base4LiveCameraSnapshot = CameraHelper.SnapshotLiveCamera(); if (!string.IsNullOrEmpty(base4LiveCameraSnapshot)) { PassKadeOutResponse passKadeOutResponse = SendDataToServer(totalFare, base64WebcamImage, base4LiveCameraSnapshot, paymentMethod); if (passKadeOutResponse != null) { notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Success", Constant.TRANSACTION_SUCCESS, ToolTipIcon.Info); Clear(); } } } } else { notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", feedback, ToolTipIcon.Warning); } }