private static void SendToVialon() { string params_string = String.Empty; int dl_len = dut_list.Count(); Dutyara counter; for (int iterator = 0; iterator < dl_len; iterator++) { counter = dut_list[iterator]; params_string += ViaDataFormater.GenerateString(counter, iterator); } params_string = params_string.Remove(params_string.Length - 1); Console.WriteLine(params_string); }
// Проверка полученных данных от ДУТа // в случае, если данные дошли в целосности - отправляет их получателю // в случае если данные пришли в повреждённом виде - отправляем получателю соответствующий код ошибки private static void CheckData(string input_text) { string[] dut_data_arr = input_text.Split('='); int arr_len = dut_data_arr.Length; if (arr_len != 5) { message_status = MSG_DROP; } else { // Проверяем является ли айдишник числом string dut_id = dut_data_arr[0].Substring(0, dut_data_arr[0].Length - 2); // dut_id = dut_id.Substring(1, dut_id.Length-2); float i = 0; var bb = float.TryParse(dut_id, out i); if (!bb) { message_status = MSG_DROP; return; } if (dut_data_arr[1][0] != '+' && dut_data_arr[1][0] != '-') { message_status = MSG_DROP; return; } bb = float.TryParse(dut_data_arr[2].Replace(".", ","), out i); if (!bb) { message_status = MSG_DROP; return; } bb = float.TryParse(dut_data_arr[3].Replace(".", ","), out i); if (!bb) { message_status = MSG_DROP; return; } // Если айдишник отличается от запрашиваемого - данные считаются битыми, т.к. пришли от другого ДУТа var idish = dut_list[dut_selected].Id.ToString(); if (dut_id != idish) { message_status = MSG_DROP; Console.WriteLine("Err!"); return; // Альтернативный способ решения: //message_status = null; return; //int irr = 0; //while (irr <= 25) //{ //Console.WriteLine("Err!"); // irr++; //} } // ХЗ что хз зачем, но вдроуг пригодится //bb = float.TryParse(dut_data_arr[4].Replace(".", ","), out i); //if (!bb) //{ // message_status = MSG_DROP; return; //} message_status = MSG_SUCCESS; dut_list[dut_selected].msg_cont.id = dut_id; dut_list[dut_selected].msg_cont.fuel = ViaDataFormater.CorrectoinNull(dut_data_arr[2], dut_list[dut_selected].Corrector); dut_list[dut_selected].msg_cont.water = ViaDataFormater.CorrectoinNull(dut_data_arr[3], dut_list[dut_selected].Corrector); dut_list[dut_selected].msg_cont.temp = dut_data_arr[1]; } return; }