Esempio n. 1
0
        private bool PullDataParkingOut()
        {
            string            APIPullData  = Properties.Resources.RequestVehicleTypeAPIURL;
            DataResponseArray receivedData = (DataResponseArray)restApi.get(this.ip_address_server, APIPullData);

            if (receivedData != null)
            {
                switch (receivedData.Status)
                {
                case 206:
                    JArray  receivedVehicleTypes = receivedData.Data;
                    JObject vehicleTypes         = new JObject();
                    vehicleTypes.Add(new JProperty("VehicleTypes", receivedVehicleTypes));

                    if (TKHelper.WriteDataIntoJSONFile(vehicleTypes, Constant.DIR_PATH_SOURCE, Constant.PATH_FILE_MASTER_DATA_PARKING_OUT))
                    {
                        return(true);
                    }
                    else
                    {
                        notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_WRITE_MASTER_DATA_FILE, ToolTipIcon.Error);
                        return(false);
                    }

                default:
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", receivedData.Message, ToolTipIcon.Error);
                    return(false);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_CONNECT_SERVER, ToolTipIcon.Error);
                return(false);
            }
        }
Esempio n. 2
0
        private bool PullDataParkingIn()
        {
            string             APIPullData = Properties.Resources.RequestDataParkingPedestrianAPIURL;
            DataResponseObject response    = (DataResponseObject)restApi.get(ip_address_server, APIPullData, true);

            if (response != null)
            {
                if (response.Status == 206)
                {
                    ParkingInPedestrian parkingInPedestrian = JsonConvert.DeserializeObject <ParkingInPedestrian>(response.Data.ToString());
                    if (TKHelper.WriteDataIntoJSONFile(parkingInPedestrian, Constant.DIR_PATH_SOURCE, Constant.PATH_FILE_MASTER_DATA_PARKING_IN))
                    {
                        return(true);
                    }
                    else
                    {
                        notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_WRITE_MASTER_DATA_FILE, ToolTipIcon.Error);
                        return(false);
                    }
                }
                else
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", response.Message, ToolTipIcon.Error);
                    return(false);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_CONNECT_SERVER, ToolTipIcon.Error);
                return(false);
            }
        }
Esempio n. 3
0
 private void back_Click(object sender, EventArgs e)
 {
     UnsubscribeEvents();
     home.Show();
     Dispose();
     TKHelper.ClearGarbage();
 }
Esempio n. 4
0
 private void InitializeOutload()
 {
     try
     {
         tarifMuatan.Items.Add("- Pilih Tipe Muatan -");
         using (StreamReader reader = new StreamReader(MasterDataFileParkingIn))
         {
             string  json     = reader.ReadToEnd();
             dynamic outloads = JsonConvert.DeserializeObject(json);
             foreach (var outload in outloads["cargo"])
             {
                 int    outloadFare         = outload["fare"];
                 string outloadType         = outload["name"];
                 string outloadTypeWithFare = outload["name"] + " - " + TKHelper.IDRWithCurrency(outloadFare.ToString());
                 tarifMuatan.Items.Add(outloadTypeWithFare);
                 outloadDict.Add(outloadTypeWithFare, outloadFare);
                 outloadTypeDict.Add(outloadTypeWithFare, outloadType);
             }
             tarifMuatan.SelectedIndex = 0;
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_FETCH_OUTLOAD, ToolTipIcon.Error);
     }
 }
Esempio n. 5
0
        private void RequestFineFarePerVehicle(string vehicle)
        {
            string             requestFineApiUrl = Properties.Resources.RequestFineFareAPIURL;
            FineFareRequest    fineFareRequest   = new FineFareRequest(vehicle);
            var                payload           = JsonConvert.SerializeObject(fineFareRequest);
            DataResponseObject response          = (DataResponseObject)restApi.post(ipAddressServer, requestFineApiUrl, true, payload);

            if (response != null)
            {
                if (response.Status == 206)
                {
                    FineFare fineFare   = JsonConvert.DeserializeObject <FineFare>(response.Data.ToString());
                    string   chargeFare = fineFare.ChargeFare.ToString();
                    txtGrandTotal.Text = TKHelper.IDR(chargeFare);
                    string   datetimeOut = fineFare.DatetimeOut.ToString();
                    string[] temp_dt_out = datetimeOut.Split(' ');
                    waktu_keluar.Text = TKHelper.ConvertDatetime(temp_dt_out[0], temp_dt_out[1]);
                }
                else
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_CONNECT_SERVER, ToolTipIcon.Error);
            }
        }
Esempio n. 6
0
        private PassKadeOutResponse SendDataToServer(int totalFare, string base64Image, string base64LiveCameraImage, string paymentMethod, string bankCode = "")
        {
            string             vehicle            = tipe_kendaraan.Text.ToString();
            string             username           = Properties.Settings.Default.Username;
            string             plateNumber        = nomor_plat.Text.ToString();
            string             ipAddressLocal     = TKHelper.GetLocalIPAddress();
            string             noteValue          = note.Text.ToString();
            PassKadeOutRequest passKadeOutRequest = new PassKadeOutRequest(vehicle, datetimeOut, username, plateNumber, totalFare, noteValue, ipAddressLocal, paymentMethod, bankCode, base64Image, base64LiveCameraImage);
            var sent_param = JsonConvert.SerializeObject(passKadeOutRequest);

            DataResponseObject response = (DataResponseObject)restApi.post(IpAddressServer, Properties.Resources.SaveDataPassKadeOutApiUrl, true, sent_param);

            if (response != null)
            {
                switch (response.Status)
                {
                case 206:
                    return(JsonConvert.DeserializeObject <PassKadeOutResponse>(response.Data.ToString()));

                default:
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Error);
                return(null);
            }
        }
Esempio n. 7
0
        private ParkingOut SendDataToServer(string webcamCapturedImage, string liveCameraSnapshotImage, string paymentMethod, int totalFare)
        {
            string vehicle     = tipe_kendaraan.SelectedItem.ToString();
            string username    = Properties.Settings.Default.Username;
            string datetimeOut = TKHelper.ConvertDatetimeToDefaultFormat(waktu_keluar.Text.ToString());
            string plateNumber = nomor_plat.Text.ToString();
            string ipAddress   = TKHelper.GetLocalIPAddress();

            LostTicketRequest lostTicketRequest = new LostTicketRequest(vehicle, username, datetimeOut, totalFare, plateNumber, ipAddress, paymentMethod, webcamCapturedImage, liveCameraSnapshotImage);
            var payload = JsonConvert.SerializeObject(lostTicketRequest);

            string lostTicketApiUrl = Properties.Resources.LostTicketAPIURL;

            DataResponseObject response = (DataResponseObject)restApi.post(ipAddressServer, lostTicketApiUrl, true, payload);

            if (response != null)
            {
                if (response.Status == 206)
                {
                    return(JsonConvert.DeserializeObject <ParkingOut>(response.Data.ToString()));
                }
                else
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Error);
                return(null);
            }
        }
Esempio n. 8
0
        private PassKadeDeparture SendDataToServer(string base64WebcamImage, string base64IpCameraImage, string paymentMethod, string bankCode = "")
        {
            int    vehicleFare = TKHelper.IDRToNominal(txtPassKadeFare.Text.ToString());
            string uid         = ticket.Text.ToString();
            string uidType     = TKHelper.GetUidType(uid);
            string vehicleType = tipe_kendaraan.Text.ToString();
            string departure   = TKHelper.ConvertDatetimeToDefaultFormat(departureDatetime.Text.ToString());
            string username    = Properties.Settings.Default.Username;
            string plateNumber = nomor_plat.Text.ToString();
            string IpAddress   = TKHelper.GetLocalIPAddress();
            string cargoType   = TKHelper.DictionaryGetValueByKey(outloadTypeDict, tarifMuatan.Text.ToString());
            PassKadeDepartureRequest passKadeDepartureRequest = new PassKadeDepartureRequest(uidType, uid, vehicleType, departure, username, plateNumber, vehicleFare, CargoFare, cargoType, IpAddress, paymentMethod, bankCode, base64WebcamImage, base64IpCameraImage);
            var sentParam = JsonConvert.SerializeObject(passKadeDepartureRequest);

            string             passKadeDepartureRequestApiUrl = Properties.Resources.SaveDataPassKadeDepartureApiUrl;
            DataResponseObject response = (DataResponseObject)restApi.post(IpAddressServer, passKadeDepartureRequestApiUrl, true, sentParam);

            if (response != null)
            {
                if (response.Status == 206)
                {
                    return(JsonConvert.DeserializeObject <PassKadeDeparture>(response.Data.ToString()));
                }
                else
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Error);
                return(null);
            }
        }
Esempio n. 9
0
        private ParkingOut SendDataToServer(string base64Image, string base64LiveCameraSnapshotImage)
        {
            string dataBarcode     = barcode.Text.ToString();
            string uid             = supervisorCard.Text.ToString();
            string uidType         = TKHelper.GetUidType(dataBarcode);
            string vehicle         = vehicleType.Text.ToString();
            string datetimeOut     = TKHelper.ConvertDatetimeToDefaultFormat(timeOut.Text.ToString());
            string username        = Properties.Settings.Default.Username;
            string dataPlateNumber = plateNumber.Text.ToString();
            string ipAddressLocal  = TKHelper.GetLocalIPAddress();
            ParkingOutFreePassRequest freePassRequest = new ParkingOutFreePassRequest(vehicle, uidType, dataBarcode, username, datetimeOut, dataPlateNumber, ipAddressLocal, uid, base64Image, base64LiveCameraSnapshotImage);
            var sent_param = JsonConvert.SerializeObject(freePassRequest);

            DataResponseObject response = (DataResponseObject)restApi.post(ip_address_server, Properties.Resources.SaveDataFreePassAPIURL, true, sent_param);

            if (response != null)
            {
                switch (response.Status)
                {
                case 206:
                    return(JsonConvert.DeserializeObject <ParkingOut>(response.Data.ToString()));

                default:
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Error);
                return(null);
            }
        }
Esempio n. 10
0
        private DataPedestrianCargoResponse SendDataToServer(string paymentMethod, string bankCode = "")
        {
            List <DataPedestrianTypeQuantity> dataPedestrianTypeQuantities = GetDataPedestrianTypeQuantities();
            string IpAddress  = TKHelper.GetLocalIPAddress();
            string DatetimeIn = TKHelper.ConvertDatetimeToDefaultFormat(datetimeIn.Text.ToString());
            string Username   = Properties.Settings.Default.Username;
            string CargoType  = TKHelper.DictionaryGetValueByKey(CargoTypes, tarifMuatan.Text.ToString());

            PedestrianRequest pedestrianRequest = new PedestrianRequest(dataPedestrianTypeQuantities, IpAddress, DatetimeIn, Username, CargoFare, CargoType, paymentMethod, bankCode);
            var sentParam = JsonConvert.SerializeObject(pedestrianRequest);

            DataResponseObject response = (DataResponseObject)restApi.post(Properties.Settings.Default.IPAddressServer, Properties.Resources.SaveDataPedestrianApiUrl, true, sentParam);

            if (response != null)
            {
                switch (response.Status)
                {
                case 206:
                    return(JsonConvert.DeserializeObject <DataPedestrianCargoResponse>(response.Data.ToString()));

                default:
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Error);
                return(null);
            }
        }
        private List <Transaction> FetchUnsyncDataTransaction()
        {
            List <Transaction> transactions = new List <Transaction>();

            if (OpenConnection("local"))
            {
                string query = "select * from deduct_card_results where has_synced = 0 limit " + DataConfig.LimitSyncData;

                MySqlCommand    command    = new MySqlCommand(query, localConnection);
                MySqlDataReader dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    int id = Convert.ToInt32(dataReader["id"].ToString());
                    TransactionIds.Add(id);

                    int?   parkingOutId  = !string.IsNullOrEmpty(dataReader["parking_out_id"].ToString()) ? Convert.ToInt32(dataReader["parking_out_id"].ToString()) : (int?)null;
                    int?   parkingInId   = !string.IsNullOrEmpty(dataReader["parking_in_id"].ToString()) ? Convert.ToInt32(dataReader["parking_in_id"].ToString()) : (int?)null;
                    string deductResult  = dataReader["result"].ToString();
                    string transactionDt = TKHelper.ConvertDatetimeToDefaultFormatMySQL(dataReader["transaction_dt"].ToString());
                    int    amount        = Convert.ToInt32(dataReader["amount"].ToString());
                    string ipv4          = dataReader["ipv4"].ToString();
                    string operatorName  = dataReader["operator"].ToString();
                    string idReader      = dataReader["ID_reader"].ToString();
                    string bank          = dataReader["bank"].ToString();
                    int    hasSynced     = Convert.ToInt32(dataReader["has_synced"].ToString());
                    string created       = TKHelper.ConvertDatetimeToDefaultFormatMySQL(dataReader["created"].ToString());
                    transactions.Add(new Transaction(id, parkingOutId, parkingInId, deductResult, amount, transactionDt, bank, ipv4, operatorName, idReader, hasSynced, created));
                }
                CloseConnection("local");
            }
            return(transactions);
        }
Esempio n. 12
0
        private void Clear()
        {
            nonCash.Checked           = true;
            tarifMuatan.SelectedIndex = 0;
            datetimeIn.Text           = TKHelper.GetCurrentDatetime();

            int countPedestrianTypeTextBox = PedestrianTypes.Count;

            if (countPedestrianTypeTextBox > 0)
            {
                foreach (var dataPedestrian in PedestrianTypes)
                {
                    string  type    = dataPedestrian.Key;
                    TextBox textBox = this.Controls.Find(type, true).FirstOrDefault() as TextBox;
                    textBox.Text = "";
                }
            }
            ComboBox comboBox = Controls.Find("comboBoxNote", true).FirstOrDefault() as ComboBox;

            comboBox.SelectedIndex = 0;

            CargoFare          = 0;
            GrandTotal         = 0;
            PedestrianFare     = 0;
            txtGrandTotal.Text = "0";
        }
 private void btnClose_Click(object sender, EventArgs e)
 {
     Hide();
     Dispose();
     UnsubscribeEvents();
     TKHelper.ClearGarbage();
 }
Esempio n. 14
0
        private bool ValidateFields(string db_host, string db_name, string db_username)
        {
            bool result = true;

            if (string.IsNullOrEmpty(db_host) || db_host.ToLower() == "host")
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", Constant.WARNING_MESSAGE_HOST_NOT_EMPTY, ToolTipIcon.Warning);
                return(false);
            }
            else if (db_host.ToLower() != Constant.LOCALHOST_VALUE)
            {
                if (!TKHelper.ValidateIPv4(db_host))
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", Constant.WARNING_MESSAGE_INVALID_HOST, ToolTipIcon.Warning);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(db_name) || db_name.ToLower() == "database name")
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", Constant.WARNING_MESSAGE_DATABASE_NAME_NOT_EMPTY, ToolTipIcon.Warning);
                return(false);
            }
            if (string.IsNullOrEmpty(db_username) || db_username.ToLower() == "username")
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", Constant.WARNING_MESSAGE_USERNAME_NOT_EMPTY, ToolTipIcon.Warning);
                return(false);
            }
            return(result);
        }
Esempio n. 15
0
        private bool ValidateFields(string db_host, string db_name, string db_username, string db_password)
        {
            bool     result = true;
            TKHelper tk     = new TKHelper();

            if (string.IsNullOrEmpty(db_host) || db_host == "Host")
            {
                MessageBox.Show("Field 'Host' Belum Diisi.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            else if (db_host.ToLower() != "localhost")
            {
                if (!tk.ValidateIPv4(db_host))
                {
                    MessageBox.Show("Invalid Host.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return(false);
                }
            }
            if (string.IsNullOrEmpty(db_name) || db_name == "Database Name")
            {
                MessageBox.Show("Field 'Name' Belum Diisi.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            if (string.IsNullOrEmpty(db_username) || db_username == "Username")
            {
                MessageBox.Show("Field 'Username' Belum Diisi.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            if (string.IsNullOrEmpty(db_password) || db_password == "Password")
            {
                MessageBox.Show("Field 'Password' Belum Diisi.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            return(result);
        }
Esempio n. 16
0
        private void tipe_kendaraan_SelectionChangeCommitted(object sender, EventArgs e)
        {
            if (tipe_kendaraan.SelectedIndex != 0)
            {
                var    ApiUrl      = Properties.Resources.RequestVehicleFarePassKadeAPIURL;
                string vehicleType = tipe_kendaraan.Text;
                PassKadeInVehicleFareRequest passKadeInVehicleFareRequest = new PassKadeInVehicleFareRequest(vehicleType);
                var sentParam = JsonConvert.SerializeObject(passKadeInVehicleFareRequest);

                DataResponseObject response = (DataResponseObject)restApi.post(IpAddressServer, ApiUrl, true, sentParam);
                if (response != null)
                {
                    if (response.Status == 206)
                    {
                        PassKadeInVehicleFare passKadeInVehicleFare = JsonConvert.DeserializeObject <PassKadeInVehicleFare>(response.Data.ToString());

                        txtPassKadeFare.Text = TKHelper.IDR(passKadeInVehicleFare.Fare.ToString());
                        VehicleFare          = passKadeInVehicleFare.Fare;
                        int grandTotal = VehicleFare + CargoFare;
                        txtGrandTotal.Text = TKHelper.IDR(grandTotal.ToString());

                        string[] departure = passKadeInVehicleFare.DepartureDatetime.Split(' ');
                        departureDatetime.Text = TKHelper.ConvertDatetime(departure[0], departure[1]);
                    }
                    else
                    {
                        notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", response.Message, ToolTipIcon.Error);
                    }
                }
                else
                {
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_CONNECT_SERVER, ToolTipIcon.Error);
                }
            }
        }
Esempio n. 17
0
        private ParkingOut SendDataToServer(int totalFare, string base64Image, string base64LiveCameraImage, string paymentMethod, string bankCode = "")
        {
            string            uid               = textBox1.Text.ToString();
            string            uidType           = TKHelper.GetUidType(uid);
            string            vehicle           = comboBox1.Text.ToString();
            string            datetimeOut       = TKHelper.ConvertDatetimeToDefaultFormat(textBox4.Text.ToString());
            string            username          = Properties.Settings.Default.Username;
            string            plateNumber       = textBox2.Text.ToString();
            string            ipAddressLocal    = TKHelper.GetLocalIPAddress();
            ParkingOutRequest parkingOutRequest = new ParkingOutRequest(uidType, uid, vehicle, datetimeOut, username, plateNumber, totalFare, ipAddressLocal, paymentMethod, bankCode, base64Image, base64LiveCameraImage);
            var sent_param = JsonConvert.SerializeObject(parkingOutRequest);

            DataResponseObject response = (DataResponseObject)restApi.post(ip_address_server, Properties.Resources.SaveDataParkingAPIURL, true, sent_param);

            if (response != null)
            {
                switch (response.Status)
                {
                case 206:
                    return(JsonConvert.DeserializeObject <ParkingOut>(response.Data.ToString()));

                default:
                    notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", response.Message, ToolTipIcon.Warning);
                    return(null);
                }
            }
            else
            {
                notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Warning", Constant.ERROR_MESSAGE_INVALID_RESPONSE_FROM_SERVER, ToolTipIcon.Warning);
                return(null);
            }
        }
Esempio n. 18
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string username = this.username.Text.ToString();
            string password = this.password.Text.ToString();

            if (Validate(username, password))
            {
                using (Loading loading = new Loading(SignIn))
                {
                    loading.ShowDialog(this);

                    // check local database connection
                    DBConnect database = new DBConnect();
                    if (!database.CheckMySQLConnection())
                    {
                        notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_FAIL_TO_CONNECT_LOCAL_DATABASE, ToolTipIcon.Error);
                        return;
                    }
                    database.DisposeDatabaseConnection();

                    // check reader connection
                    Acr123U  acr123U    = new Acr123U();
                    string[] readerList = acr123U.getReaderList();
                    if (readerList.Length <= 0)
                    {
                        notifyIcon.ShowBalloonTip(Constant.NOTIFICATION_TRAY_TIMEOUT, "Error", Constant.ERROR_MESSAGE_DEVICE_READER_NOT_FOUND, ToolTipIcon.Error);
                        return;
                    }

                    // remember me feature
                    if (checkBox1.Checked)
                    {
                        Properties.Settings.Default.Username   = username;
                        Properties.Settings.Default.Password   = password;
                        Properties.Settings.Default.RememberMe = "yes";
                    }
                    else
                    {
                        Properties.Settings.Default.Username   = username;
                        Properties.Settings.Default.Password   = "";
                        Properties.Settings.Default.RememberMe = "no";
                    }
                    Properties.Settings.Default.Save();

                    this.ip_address_server = Properties.Settings.Default.IPAddressServer;

                    if (CheckGate())
                    {
                        // pull some data from server e.g. Vehicle Types
                        if (PullDataFromServer(Properties.Settings.Default.GateType))
                        {
                            ApiSignIn(username, password);
                            loading.Dispose();
                            TKHelper.ClearGarbage();
                        }
                    }
                }
            }
        }
Esempio n. 19
0
        private void iPv4ServerCameraToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Hide();
            Setting setting = new Setting(this);

            setting.Show();
            TKHelper.ClearGarbage();
        }
Esempio n. 20
0
        private void databaseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Hide();
            DatabaseConfig DBConfig = new DatabaseConfig(this);

            DBConfig.Show();
            TKHelper.ClearGarbage();
        }
Esempio n. 21
0
        private void tIDSettlementMIDToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Hide();
            TMID tmid = new TMID(this);

            tmid.Show();
            TKHelper.ClearGarbage();
        }
Esempio n. 22
0
 private void tarifMuatan_SelectionChangeCommitted(object sender, EventArgs e)
 {
     if (tarifMuatan.SelectedIndex != 0)
     {
         CargoFare = tarifMuatan.SelectedIndex == 1 ? 0 : TKHelper.DictionaryGetValueByKey(Cargos, tarifMuatan.Text);
         SetGrandTotal();
     }
 }
Esempio n. 23
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string feedback = this.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))
                        {
                            PassKadeDeparture passKadeDeparture = SendDataToServer(base64WebcamImage, base64LiveCameraSnapshot, paymentMethod, bankCode);
                            StoreDataToDatabase(responseDeduct, passKadeDeparture);
                            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))
                    {
                        PassKadeDeparture passKadeDeparture = SendDataToServer(base64WebcamImage, base4LiveCameraSnapshot, paymentMethod);
                        if (passKadeDeparture != 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);
            }
        }
Esempio n. 24
0
 private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (!about.Visible)
     {
         about = new About();
         about.Show();
     }
     TKHelper.ClearGarbage();
 }
Esempio n. 25
0
 private void tarifMuatan_SelectionChangeCommitted(object sender, EventArgs e)
 {
     if (tarifMuatan.SelectedIndex != 0)
     {
         string outloadType = tarifMuatan.Text;
         CargoFare = TKHelper.DictionaryGetValueByKey(outloadDict, outloadType);
         int grandTotal = CargoFare + VehicleFare;
         txtGrandTotal.Text = TKHelper.IDR(grandTotal.ToString());
     }
 }
Esempio n. 26
0
        private void back_to_cashier_Click(object sender, EventArgs e)
        {
            CameraHelper.StopIpCamera(liveCamera);
            database.DisposeDatabaseConnection();
            Cashier cashier = new Cashier(home);

            cashier.Show();
            Dispose();
            UnsubscribeEvents();
            TKHelper.ClearGarbage();
        }
Esempio n. 27
0
        private void buttonBackToCashier_Click(object sender, EventArgs e)
        {
            CameraHelper.StopIpCamera(liveCamera);
            MifareCard.Stop();
            Cashier cashier = new Cashier(home);

            cashier.Show();
            Dispose();
            UnsubscribeEvents();
            TKHelper.ClearGarbage();
        }
Esempio n. 28
0
        public FileWatcher()
        {
            string settlementDir = TKHelper.GetDirectoryName() + "\\settlement";

            watcher = new FileSystemWatcher(@settlementDir);
            watcher.EnableRaisingEvents   = true;
            watcher.IncludeSubdirectories = true;
            watcher.Created += watcher_Created;
            watcher.Renamed += wathcer_Renamed;
            watcher.Deleted += watcher_Deleted;
            newFile          = new List <string>();
        }
        private void InitializeData()
        {
            int locationY = 20;

            if (PedestrianDetails.Count > 0)
            {
                int counter = 1;
                foreach (PedestrianDetail pedestrianDetail in PedestrianDetails)
                {
                    Label labelPedestrianType = new Label();
                    labelPedestrianType.AutoSize  = true;
                    labelPedestrianType.BackColor = Color.WhiteSmoke;
                    labelPedestrianType.Font      = new Font("Microsoft Sans Serif", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 0);
                    labelPedestrianType.ForeColor = Color.Black;
                    labelPedestrianType.Location  = new Point(35, locationY);
                    labelPedestrianType.Name      = "labelPedestrianType" + counter;
                    labelPedestrianType.Size      = new Size(114, 16);
                    labelPedestrianType.TabIndex  = 54;
                    labelPedestrianType.Text      = pedestrianDetail.PedestrianType;

                    Label labelPedestrianFareDetail = new Label();
                    labelPedestrianFareDetail.AutoSize  = true;
                    labelPedestrianFareDetail.BackColor = Color.WhiteSmoke;
                    labelPedestrianFareDetail.Font      = new Font("Microsoft Sans Serif", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 0);
                    labelPedestrianFareDetail.ForeColor = Color.Black;
                    labelPedestrianFareDetail.Location  = new Point(245, locationY);
                    labelPedestrianFareDetail.Name      = "labelPedestrianFareDetail" + counter;
                    labelPedestrianFareDetail.Size      = new Size(96, 16);
                    labelPedestrianFareDetail.TabIndex  = 55;
                    labelPedestrianFareDetail.Text      = String.Format("{0} x {1}", pedestrianDetail.NumberOfPeople, TKHelper.IDRWithCurrency(pedestrianDetail.PedestrianFare.ToString()));

                    int   totalFare = pedestrianDetail.NumberOfPeople * pedestrianDetail.PedestrianFare;
                    Label labelPedestrianTotalFare = new Label();
                    labelPedestrianTotalFare.AutoSize  = true;
                    labelPedestrianTotalFare.BackColor = Color.WhiteSmoke;
                    labelPedestrianTotalFare.Font      = new Font("Microsoft Sans Serif", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 0);
                    labelPedestrianTotalFare.ForeColor = Color.Black;
                    labelPedestrianTotalFare.Location  = new Point(452, locationY);
                    labelPedestrianTotalFare.Name      = "labelPedestrianTotalFare" + counter;
                    labelPedestrianTotalFare.Size      = new Size(77, 16);
                    labelPedestrianTotalFare.TabIndex  = 56;
                    labelPedestrianTotalFare.Text      = TKHelper.IDRWithCurrency(totalFare.ToString());

                    panelPedestrianDetail.Controls.Add(labelPedestrianType);
                    panelPedestrianDetail.Controls.Add(labelPedestrianFareDetail);
                    panelPedestrianDetail.Controls.Add(labelPedestrianTotalFare);

                    locationY += 30;
                    counter++;
                }
            }
        }
Esempio n. 30
0
        private void buttonPassKadeKeluar_Click(object sender, EventArgs e)
        {
            CameraHelper.StopIpCamera(LiveCamera);
            mifareCard.Stop();
            database.DisposeDatabaseConnection();
            PassKadeOut passKadeOut = new PassKadeOut(home);

            passKadeOut.Show();
            Hide();
            Dispose();
            UnsubscribeEvents();
            TKHelper.ClearGarbage();
        }