Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 public int getDTUByPosition(int index, out HDModemInfoStruct infoPtr)
 {
     infoPtr = new HDModemInfoStruct();
     return(DTUdll.Instance.getDTUByPosition(index, out infoPtr));
 }
Exemplo n.º 5
0
 public int getDTUInfo(string userid, out HDModemInfoStruct infoPtr)
 {
     infoPtr = new HDModemInfoStruct();
     return(DTUdll.Instance.getDTUInfo(userid, out infoPtr));
 }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
 private static extern int add_one_user(HDModemInfoStruct user);
Exemplo n.º 8
0
 private static extern int get_user_at(int index, ref HDModemInfoStruct infoPtr);
Exemplo n.º 9
0
 private static extern int get_user_info(string userid, ref HDModemInfoStruct infoPtr);