Exemplo n.º 1
0
        public void SendDexportLog(DataAdminMessageFactory.LogMessage msg)
        {
            switch (msg.OperationStatus)
            {
            case DataAdminMessageFactory.LogMessage.Status.Started:
                if (OnDexportStartedOperation != null)
                {
                    OnDexportStartedOperation(msg);
                }
                break;

            case DataAdminMessageFactory.LogMessage.Status.Finished:
                if (OnDexportFinishedOperation != null)
                {
                    OnDexportFinishedOperation(msg);
                }
                break;

            case DataAdminMessageFactory.LogMessage.Status.Aborted:
                if (OnDexportAbortedOperation != null)
                {
                    OnDexportAbortedOperation(msg);
                }
                break;
            }
        }
Exemplo n.º 2
0
        public void DataExportClientLogin(DataAdminMessageFactory.LoginMessage loginParams, UserModel tempUser)
        {
            if (!(Clients.GetAllItems().Exists(a => a.UserName == loginParams.UsernameMD5)))
            //if client not in list and he/she want to connected with dnet
            {
                AddClient(CurrentClient, loginParams.NetType, tempUser); //add client
                return;
            }
            var clientInList = Clients.GetAllItems().Find(a => a.UserName == loginParams.UsernameMD5);

            if (clientInList.IsDexportConnected == false)
            {
                clientInList.IsDexportConnected = true;
                clientInList.DexportProxy       = CurrentClient.GetClientProxy <IDataAdminService>();
                clientInList.DexportClient      = CurrentClient;
                var usrModel = new UserModel();
                if (OnloggedInLog != null)
                {
                    var msg = new DataAdminMessageFactory.LogMessage
                    {
                        OperationStatus = DataAdminMessageFactory.LogMessage.Status.Finished,
                        LogType         = DataAdminMessageFactory.LogMessage.Log.Login,
                        Time            = DateTime.Now,
                        UserID          = tempUser.Id
                    };
                    var msgMain = "Client " + usrModel.Name + " connected from " + CurrentClient.RemoteEndPoint;
                    OnloggedInLog(msg, msgMain);
                }
                CurrentLoginTypeDexp = true;
                CurrentLoginTypeDnet = false;
                CurrentLoginTypeTnet = false;

                OnClientLogon(tempUser);
            }
        }
Exemplo n.º 3
0
 public void  SendStartedOperationLog(DataAdminMessageFactory.LogMessage msg)
 {
     if (startedOperation != null)
     {
         startedOperation(this, msg);
     }
 }
Exemplo n.º 4
0
        public void OnSimpleMessage(DataAdminMessageFactory.LogMessage msg)
        {
            RaiseSimpleLog handler = simpleMessage;

            if (handler != null)
            {
                handler(this, msg);
            }
        }
Exemplo n.º 5
0
        public void SendSimpleLog(DataAdminMessageFactory.LogMessage msg)
        {
            var client = CurrentClient;

            //Get a proxy object to call methods of client when needed
            //Create a DataClient and store it in a collection
            var dataClient = new LogClient(CurrentClient)
            {
                UserName = msg.Symbol
            };

            Clients[client.ClientId] = dataClient;

            //Register to Disconnected event to know when user connection is closed
            client.Disconnected += Client_Disconnected;
            //Start a new task to send user list to mainform
        }
Exemplo n.º 6
0
 public void SendFinishedOperationLog(DataAdminMessageFactory.LogMessage msg)
 {
     if (msg.OperationStatus == DataAdminMessageFactory.LogMessage.Status.Finished)
     {
         if (finishedOperation != null)
         {
             finishedOperation(this, msg);
         }
     }
     else
     {
         if (abortedOperation != null)
         {
             abortedOperation(this, msg);
         }
     }
 }
Exemplo n.º 7
0
 public void SendDexportLog(DataAdminMessageFactory.LogMessage msg)
 {
 }
Exemplo n.º 8
0
 public void SendSimpleLog(DataAdminMessageFactory.LogMessage msg)
 {
 }
Exemplo n.º 9
0
 public void SendFinishedOperationLog(DataAdminMessageFactory.LogMessage msg)
 {
 }
Exemplo n.º 10
0
 public void SendStartedOperationLog(DataAdminMessageFactory.LogMessage msg)
 {
 }
Exemplo n.º 11
0
        /// <summary>
        /// This method is called when a client calls
        /// the Logout method of service or a client
        /// connection fails.
        /// </summary>
        /// <param name="clientId">Unique Id of client that is logged out</param>
        /// <param name="clientType"> </param>
        private void ClientLogout(long clientId, string clientType)
        {
            var client       = Clients[clientId];
            var isdnetClient = false;
            var istnetclient = false;

            if (client == null)
            {
                return;
            }

            switch (clientType)
            {
            case "d":
                isdnetClient = true;
                if (!(client.IsDexportConnected || client.IsTickNetConnected))
                {
                    DClientCrashed(client.UserName);
                    Clients.Remove(client.IndexInAdminList);
                }
                else
                {
                    DClientCrashed(client.UserName);
                    client.IsDatanetConnected = false;
                    client.DnetClient         = null;
                    client.DClientProxy       = null;
                }
                break;

            case "t":
                istnetclient = true;
                if (!(client.IsDexportConnected || client.IsDatanetConnected))
                {
                    TClientCrashed(client.UserName);
                    Clients.Remove(client.IndexInAdminList);
                }
                else
                {
                    TClientCrashed(client.UserName);
                    client.IsTickNetConnected = false;

                    client.TClientProxy = null;
                    client.TnetClient   = null;
                }
                break;

            case "e":
                if (!(client.IsDatanetConnected || client.IsDatanetConnected))
                {
                    Clients.Remove(client.IndexInAdminList);
                }
                else
                {
                    client.IsDexportConnected = false;
                    client.DexportProxy       = null;
                    client.DexportClient      = null;
                }
                break;
            }

            if (OnloggedOutLog != null)
            {
                var msg = new DataAdminMessageFactory.LogMessage
                {
                    OperationStatus = DataAdminMessageFactory.LogMessage.Status.Finished,
                    LogType         = DataAdminMessageFactory.LogMessage.Log.Logout,
                    UserID          = client.DBId,
                    Time            = DateTime.Now,
                    IsDataNetClient = isdnetClient,
                    IsTickNetClient = istnetclient
                };
                var msgMain = "Client " + client.UserName + " disconected.";
                OnloggedOutLog(msg, msgMain, client.UserName);
            }
            Task.Factory.StartNew(OnUserListChanged);
        }
Exemplo n.º 12
0
        public void AddClient(IScsServiceClient newClient, char listflag, UserModel usrModel)
        {
            var client = CurrentClient;

            //Get a proxy object to call methods of client when needed
            var clientProxy = CurrentClient.GetClientProxy <IDataAdminService>();
            //Create a DataClient and store it in a collection
            bool dnet       = listflag == 'd';
            bool tnet       = listflag == 't';
            bool dexp       = listflag == 'e';
            var  dataClient = new DataClient(usrModel.Name, usrModel.Id, dnet, tnet)
            {
                IsDexportConnected = dexp
            };

            if (dnet)
            {
                dataClient.DClientProxy = clientProxy;
                dataClient.DnetClient   = CurrentClient;
                CurrentLoginTypeDnet    = true;
                CurrentLoginTypeTnet    = false;
                CurrentLoginTypeDexp    = false;
                dataClient.DexportProxy = null;
                dataClient.TnetClient   = null;
            }
            if (tnet)
            {
                dataClient.TClientProxy = clientProxy;
                dataClient.TnetClient   = CurrentClient;
                CurrentLoginTypeTnet    = true;
                CurrentLoginTypeDnet    = false;
                CurrentLoginTypeDexp    = false;
                dataClient.DnetClient   = null;
                dataClient.DexportProxy = null;
            }
            if (dexp)
            {
                dataClient.DexportProxy  = clientProxy;
                dataClient.DexportClient = CurrentClient;
                CurrentLoginTypeDexp     = true;
                CurrentLoginTypeTnet     = false;
                CurrentLoginTypeDnet     = false;
                dataClient.DnetClient    = null;
                dataClient.TnetClient    = null;
            }

            dataClient.IndexInAdminList = (int)client.ClientId;
            Clients[client.ClientId]    = dataClient;

            //Register to Disconnected event to know when user connection is closed
            client.Disconnected += Client_Disconnected;
            //Start a new task to send user list to mainform

            if (OnloggedInLog != null)
            {
                var msg = new DataAdminMessageFactory.LogMessage
                {
                    OperationStatus = DataAdminMessageFactory.LogMessage.Status.Finished,
                    LogType         = DataAdminMessageFactory.LogMessage.Log.Login,
                    Time            = DateTime.Now,
                    UserID          = usrModel.Id,
                    IsDataNetClient = CurrentLoginTypeDnet,
                    IsTickNetClient = CurrentLoginTypeTnet,
                };
                var msgMain = "Client " + usrModel.Name + " connected from " + CurrentClient.RemoteEndPoint;
                OnloggedInLog(msg, msgMain);
            }
            OnClientLogon(usrModel);
            Task.Factory.StartNew(OnUserListChanged);
        }