public bool FindByID(string userID, out byte[] dtuID) { dtuID = null; List <HDModemInfoStruct> DTUList_1 = DTUList; //foreach (var item in DTUList_1) for (int i = 0; i < DTUList_1.Count; i++) { HDModemInfoStruct item = DTUList_1[i]; if (System.Text.Encoding.Default.GetString(item.m_modemId).Substring(0, 11) == userID) { dtuID = item.m_modemId; return(true); } } return(false); }
private CEntityStation QueryStationEntityByUserID_new(HDModemInfoStruct dtu) { string uid = System.Text.Encoding.Default.GetString(dtu.m_modemId); if (uid.Contains("\0")) { uid = uid.Replace("\0", ""); } if (this.m_listStations != null) { foreach (var station in this.m_listStations) { if (station.GPRS.Trim() == uid.Trim()) { return(station); } } } return(null); }
public int GetDTUList(out Dictionary <string, HDModemInfoStruct> dtuList) { int flag = -1; dtuList = new Dictionary <string, HDModemInfoStruct>(); try { uint count = getDTUAmount(); for (int pos = 0; pos < count; pos++) { HDModemInfoStruct dtu = new HDModemInfoStruct(); flag = get_user_at(pos, ref dtu); //string data = System.Text.Encoding.Default.GetString(dtu.m_sin_addr); string userid = System.Text.Encoding.Default.GetString(dtu.m_modemId); dtuList.Add(userid, dtu); } return(0); } catch (Exception e) { return(flag); } }
public int getDTUByPosition(int index, out HDModemInfoStruct infoPtr) { infoPtr = new HDModemInfoStruct(); return(DTUdll.Instance.getDTUByPosition(index, out infoPtr)); }
public int getDTUInfo(string userid, out HDModemInfoStruct infoPtr) { infoPtr = new HDModemInfoStruct(); return(DTUdll.Instance.getDTUInfo(userid, out infoPtr)); }
public void RefreshGPRSInfo_new(ushort port, string stationName, string stationID, HDModemInfoStruct dtu) { try { string uid = System.Text.Encoding.Default.GetString(dtu.m_modemId).Substring(0, 11); string phoneno = "------"; string dynIP = this.IntToIp((int)dtu.m_sin_addr); string cutport1 = this.IntToIp((int)dtu.m_sin_port); string cutport2 = this.IntToIp((int)dtu.m_local_port); string conntimeStr = System.Text.Encoding.Default.GetString(dtu.m_logon_date); string refreshtimeStr = System.Text.Encoding.Default.GetString(dtu.m_update_time); DateTime connetime = DateTime.Parse(conntimeStr.Substring(0, conntimeStr.Length - 1)); DateTime refreshTime = DateTime.Now; try { refreshTime = DateTime.Parse(refreshtimeStr.Substring(0, 17));; #pragma warning disable CS0168 // 声明了变量“eee”,但从未使用过 }catch (Exception eee) #pragma warning restore CS0168 // 声明了变量“eee”,但从未使用过 { //refreshTime = connetime; } EDataState state = EDataState.ENormal; if ((DateTime.Now - refreshTime).TotalMinutes > 60) { this.cS_OnlineOrOffline = "离线"; this.CS_OnlineOrOfflineFlag = "0"; state = EDataState.EError; } else { this.cS_OnlineOrOffline = "在线"; this.CS_OnlineOrOfflineFlag = "2"; this.m_onlineGprsCount += 1; if (!m_onlineGprsList.Contains(uid)) { m_onlineGprsList.Add(uid); } } this.BeginInvoke(new System.Action(() => { for (int i = 0; i < m_dataTable_1.Rows.Count; ++i) { if (m_dataTable_1.Rows[i][CS_UserId].ToString() == uid) { //m_dataTable_1.Rows.Add(new string[] { port.ToString(), stationName, uid, phoneno, dynIP, connetime.ToString(), refreshTime.ToString(), CS_OnlineOrOffline.ToString(), CS_OnlineOrOfflineFlag, Convert.ToString((int)state) }); DataRow newRow = m_dataTable_1.NewRow(); newRow[CS_Port] = port.ToString(); newRow[CS_StationName] = stationName; newRow[CS_StationID] = stationID; newRow[CS_UserId] = uid; newRow[CS_Telephone] = phoneno; newRow[CS_DynamicIP] = dynIP; newRow[CS_ConnectionTime] = connetime.ToString(); newRow[CS_RecvTime] = refreshTime.ToString(); newRow["在线状态"] = this.cS_OnlineOrOffline.ToString(); newRow["在线状态记录"] = CS_OnlineOrOfflineFlag; newRow["state"] = Convert.ToString((int)state); m_dataTable_1.Rows.InsertAt(newRow, i); m_dataTable_1.Rows.RemoveAt(i + 1); // 找到匹配,更新行的内容 //Gprs_Copy.UpdateRowData(i, new string[] { port.ToString(), stationName, uid, phoneno, dynIP, connetime.ToString(), refreshTime.ToString(), CS_OnlineOrOffline.ToString(), CS_OnlineOrOfflineFlag }, state); //m_mutexDataTable.ReleaseMutex(); //return; } } //DataView dataView = m_dataTable_1.DefaultView; //dataView.Sort = "用户ID asc"; //m_dataTable_1 = dataView.ToTable(); //for (int i = 0; i < base.m_dataTable.Columns.Count; ++i) //{ // Console.WriteLine(base.m_dataTable.Columns[i].ColumnName + "..."); //} //for (int i = 0; i < 1; ++i) //{ // for (int j = 0; j < base.m_dataTable.Columns.Count; ++j) // { // Console.WriteLine(base.m_dataTable.Rows[i][j] + "..."); // } //} // m_dataTable_1.DefaultView.Sort="用户ID asc"; base.DataSource = m_dataTable_1.DefaultView; return; })); // this.Show(); // 没有找到匹配,添加新的行记录 // m_mutexDataTable.ReleaseMutex(); return; //base.AddRow(new string[] { port.ToString(), stationName, uid, phoneno, dynIP, connetime.ToString(), refreshTime.ToString(), CS_OnlineOrOffline.ToString(), CS_OnlineOrOfflineFlag }, state); //this.m_totalGprsCount += 1; } catch (Exception ex) { this.Hide(); MessageBox.Show("刷新出错!" + ex.ToString()); this.Show(); } }
private static extern int add_one_user(HDModemInfoStruct user);
private static extern int get_user_at(int index, ref HDModemInfoStruct infoPtr);
private static extern int get_user_info(string userid, ref HDModemInfoStruct infoPtr);