Ejemplo n.º 1
0
        private async Task ProcessRegisterClientCmd(CommandHeader cmdHeader)
        {
            var clientIdBytes = await NetworkHelper.ReadBytes(_networkStream, cmdHeader.PayloadLength);

            var clientId = new Guid(clientIdBytes);

            var ret = new ServerResponseWithData <bool>();

            var cl = _config.Clients.FirstOrDefault(x => x.Id == clientId);

            if (cl != null)
            {
                ret.Data = true;
            }
            else
            {
                _config.Clients.Add(new RegisteredClient
                {
                    Id = clientId,
                });
                _config.Store();

                ret.Data = true;
            }

            await CommandHelper.WriteCommandResponse(_networkStream, Commands.RegisterClientCmd, ret);
        }
Ejemplo n.º 2
0
        private async Task ProcessGetClientEndpointsCmd(CommandHeader cmdHeader)
        {
            var clientIdBytes = await NetworkHelper.ReadBytes(_networkStream, cmdHeader.PayloadLength);

            var clientId = new Guid(clientIdBytes);

            var ret = new ServerResponseWithData <List <ClientFolderEndpoint> >();
            var cl  = _config.Clients.FirstOrDefault(x => x.Id == clientId);

            if (cl == null)
            {
                ret.ErrorMsg = $"Client {clientId} is not registered";
            }
            else
            {
                ret.Data = cl.FolderEndpoints
                           .Select(x => new ClientFolderEndpoint
                {
                    DisplayName = x.DisplayName,
                    Id          = x.Id
                })
                           .ToList();
            }

            await CommandHelper.WriteCommandResponse(_networkStream, Commands.GetClientEndpointsCmd, ret);
        }