private void StoreDataToDatabase(DataDeduct dataDeduct, DataPedestrianCargoResponse pedestrianCargoResponse) { 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; string query = "INSERT INTO deduct_card_results (result, amount, transaction_dt, bank, ipv4, operator, ID_reader, created) VALUES('" + result + "', '" + amount + "', '" + created + "', '" + bank + "', '" + ipv4 + "', '" + operatorName + "', '" + idReader + "', '" + created + "')"; MySqlCommand cmd = database.Insert(query); if (cmd != null) { int lastInsertId = (int)cmd.LastInsertedId; if (pedestrianCargoResponse.Pedestrians != null) { foreach (PedestrianResponse pedestrian in pedestrianCargoResponse.Pedestrians) { int peopleTicketId = pedestrian.PeopleTicketId; int fare = pedestrian.Total; string query2 = "INSERT INTO deduct_card_result_details (deduct_card_result_id, people_ticket_id, amount, created) VALUES('" + lastInsertId + "', '" + peopleTicketId + "', '" + fare + "', '" + created + "')"; database.Insert(query2); } } if (pedestrianCargoResponse.Cargo != null) { int cargoFareId = pedestrianCargoResponse.Cargo.CargoFareId; int fare = pedestrianCargoResponse.Cargo.TotalFare; string query3 = "INSERT INTO deduct_card_result_details (deduct_card_result_id, cargo_fare_id, amount, created) VALUES('" + lastInsertId + "', '" + cargoFareId + "', '" + fare + "', '" + created + "')"; database.Insert(query3); } } else { notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_SAVE_DATA_INTO_LOCAL_SERVER, ToolTipIcon.Error); return; } } 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 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) { DataPedestrianCargoResponse pedestrianCargoResponse = SendDataToServer(paymentMethod, bankCode); if (pedestrianCargoResponse != null) { StoreDataToDatabase(responseDeduct, pedestrianCargoResponse); 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 { DataPedestrianCargoResponse pedestrianCargoResponse = SendDataToServer(paymentMethod); if (pedestrianCargoResponse != 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); } }