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); }
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); }