Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }