Beispiel #1
0
        private static void CreateDB()
        {
            if (TfSettings.Database.CreateDB)
            {
                var connectionString = TfSettings.Database.DefaultConnectionString;
                var dbName           = TfSettings.Database.DatabaseName;
                var param            = ConnectProvider.Param();
                var query            = new Query(
                    connectionString,
                    $"{Operations.SELECT} COUNT('datname') FROM pg_catalog.pg_database where datname = {param}dbName;",
                    new Dictionary <string, object>()
                {
                    { "dbName", dbName }
                });

                if (query.GetScalar() > 0)
                {
                    return;
                }

                var userId   = TfSettings.Database.UserId;
                var encoding = TfSettings.Database.Encoding;
                var nonQuery = new NonQuery(
                    connectionString,
                    $"{Operations.CREATE_DATABASE.GetString()} {dbName} WITH OWNER = {userId} ENCODING = '{encoding}';",
                    null);
                nonQuery.ExecuteNonQuery(Operations.CREATE_DATABASE);
            }
        }
        public void Start(ILog logger)
        {
            _logger = logger;
            ReaderWriter readerWriter = new ReaderWriter(ServiceName);

            _settings = readerWriter.Read();
            try
            {
                _serverConnector = new ServerConnector(_settings);

                var objectModifier = new ObjectModifier(_serverConnector);
                _objectUploader = new ObjectUploader(objectModifier, _serverConnector);

                _connectProvider = new ConnectProvider(_logger, _settings, _serverConnector);
                _connectProvider.Connect();

                _revitShareListener = new RevitShareListener(_objectUploader, _settings);

                _pipeServer = new PipeServer(_logger, readerWriter, _connectProvider, _objectUploader, _revitShareListener);
                _pipeServer.Start();

                _logger.InfoFormat("{0} Started Successfully", ServiceName);
            }
            catch (Exception)//in case of incorrect settings.xml
            {
                _pipeServer = new PipeServer(_logger, readerWriter, _connectProvider, _objectUploader, null);
                _pipeServer.Start();
            }
        }
Beispiel #3
0
        public void CreateClient()
        {
            var client = new ConnectProvider(new UdpSocket());

            client.Launch();

            _Updater.Add(new ClientHandler(++_Id, client, Command, Viewer));
        }
 public void userDisconnect()
 {
     if (ConnectStatus)
     {
         ConnectProvider.userDisconnect(ClientId);
         ConnectProvider = null;
         ConnectStatus   = false;
     }
 }
 public PipeServer(ILog logger, ReaderWriter readerWriter, ConnectProvider reconnectProvider, ObjectUploader objectUploader, RevitShareListener revitShareListener)
 {
     _logger             = logger;
     _settings           = readerWriter.Settings;
     _readerWriter       = readerWriter;
     _reconnectProvider  = reconnectProvider;
     _objectUploader     = objectUploader;
     _revitShareListener = revitShareListener;
     _isWaitingResponse  = false;
 }
Beispiel #6
0
        private void Fake()
        {
            var clientSocket = new FakeSocket(new IPEndPoint(IPAddress.Parse("0.0.0.1"), 0), Command, this.Viewer);
            var serverSocket = new FakeSocket(new IPEndPoint(IPAddress.Parse("0.0.0.2"), 0), Command, this.Viewer);

            clientSocket.SendEvent += serverSocket.Receive;
            serverSocket.SendEvent += clientSocket.Receive;

            var server = new Listener(clientSocket);
            var client = new ConnectProvider(serverSocket);

            _Updater.Add(clientSocket);
            _Updater.Add(serverSocket);

            _Updater.Add(new ClientHandler(++_Id, client, Command, Viewer));
            _Updater.Add(new ServerHandler(++_Id, server, Command, Viewer));
        }