Beispiel #1
0
        void ics_updateClientEvent(ClienUpdateEventArgs e)
        {
            switch (e.clientupdate)
            {
                case CLIENTUPDATE.updateServer:
                    lock (Serverlist)
                    {
                        foreach(var v in e.data as List<ServerClass>)
                        {
                            if(Serverlist.ContainsKey(v.m_Serverid))
                            {
                                Serverlist[v.m_Serverid].server = v;
                                if(!v.isonline)
                                {
                                    foreach(var z in Serverlist[v.m_Serverid].applist)
                                    {
                                        z.Value.isonline = false;
                                    }
                                }
                            }
                            else
                            {
                                ActServer s = new ActServer();
                                s.server = v;
                                Serverlist.Add(v.m_Serverid, s);
                            }
                        }
                    }
                    if (updateClientEvent != null)
                    {
                        updateClientEvent(e);
                    }
                    break;
                case CLIENTUPDATE.updateApp:
                    lock (Serverlist)
                    {
                        foreach (var v in e.data as List<AppObj>)
                        {
                            if (Serverlist.ContainsKey(v.m_Serverid))
                            {
                               if(Serverlist[v.m_Serverid].applist.ContainsKey(v.app))
                               {
                                   Serverlist[v.m_Serverid].applist[v.app]=v;
                               }
                               else
                               {
                                   Serverlist[v.m_Serverid].applist.Add(v.app, v);
                               }
                               if (v.isonline) Serverlist[v.m_Serverid].server.isonline = true;
                            }
                        }
                    }
                    if (updateClientEvent != null)
                    {
                        List<AppObj> apps = new List<AppObj>();
                        List<APPID> appids = Communicator.getVisualApp(app.id);

                        foreach (var v in e.data as List<AppObj>)
                        {
                            if (appids.Contains(v.app)) apps.Add(v);
                        }
                        e.data = apps;
                        updateClientEvent(e);
                    }
                    break;
                default:
                    break;
            }
        }
        void ics_updateClientEvent(ClienUpdateEventArgs e)
        {
            switch (e.clientupdate)
            {
            case CLIENTUPDATE.updateServer:
                lock (Serverlist)
                {
                    foreach (var v in e.data as List <ServerClass> )
                    {
                        if (Serverlist.ContainsKey(v.m_Serverid))
                        {
                            Serverlist[v.m_Serverid].server = v;
                            if (!v.isonline)
                            {
                                foreach (var z in Serverlist[v.m_Serverid].applist)
                                {
                                    z.Value.isonline = false;
                                }
                            }
                        }
                        else
                        {
                            ActServer s = new ActServer();
                            s.server = v;
                            Serverlist.Add(v.m_Serverid, s);
                        }
                    }
                }
                if (updateClientEvent != null)
                {
                    updateClientEvent(e);
                }
                break;

            case CLIENTUPDATE.updateApp:
                lock (Serverlist)
                {
                    foreach (var v in e.data as List <AppObj> )
                    {
                        if (Serverlist.ContainsKey(v.m_Serverid))
                        {
                            if (Serverlist[v.m_Serverid].applist.ContainsKey(v.app))
                            {
                                Serverlist[v.m_Serverid].applist[v.app] = v;
                            }
                            else
                            {
                                Serverlist[v.m_Serverid].applist.Add(v.app, v);
                            }
                            if (v.isonline)
                            {
                                Serverlist[v.m_Serverid].server.isonline = true;
                            }
                        }
                    }
                }
                if (updateClientEvent != null)
                {
                    List <AppObj> apps   = new List <AppObj>();
                    List <APPID>  appids = Communicator.getVisualApp(app.id);

                    foreach (var v in e.data as List <AppObj> )
                    {
                        if (appids.Contains(v.app))
                        {
                            apps.Add(v);
                        }
                    }
                    e.data = apps;
                    updateClientEvent(e);
                }
                break;

            default:
                break;
            }
        }