Example #1
0
        public DataSet GetVisualData_Ws(string progId, string jsonString)
        {
            LibQueryCondition libQueryCondition = null;

            try
            {
                libQueryCondition = (LibQueryCondition)JsonConvert.DeserializeObject(jsonString, typeof(LibQueryCondition));
            }
            catch
            {
            }
            WsService ws = new WsService();
            ExecuteWsMethodParam_Ws param = new ExecuteWsMethodParam_Ws();

            param.ProgId     = progId;
            param.MethodName = "BrowseTo";
            if (libQueryCondition != null)
            {
                param.MethodParam = new object[] { libQueryCondition };
            }
            else
            {
                param.MethodParam = new object[] { new LibQueryCondition() };
            }
            return(ws.GetRpt_Ws(param));
        }
        /// <summary>
        /// Send a message to the server asyncronously
        /// </summary>
        /// <param name="message"></param>
        public async Task SendAsync(IMessage message)
        {
            LoggerService.Log(LogLevel.Information, $"Sending message: {message.GetMessageName()}");
            var messageJson = JsonConvert.SerializeObject(message);

            LoggerService.Log(LogLevel.Debug, $"Sending message: {messageJson}");
            await WsService.SendAsync(messageJson);
        }
Example #3
0
        public DataSet GetVisualData_Ws_T(string progId)
        {
            WsService ws = new WsService();
            ExecuteWsMethodParam_Ws param = new ExecuteWsMethodParam_Ws();

            param.ProgId     = progId;
            param.MethodName = "LiveUpdate";
            return(ws.GetRpt_Ws(param));
        }
        /// <summary>
        /// Send a message to the server
        /// </summary>
        /// <param name="message"></param>
        public IMessageService Send(IMessage message)
        {
            LoggerService.Log(LogLevel.Information, $"Sending message: {message.GetMessageName()}");
            var messageJson = JsonConvert.SerializeObject(message);

            LoggerService.Log(LogLevel.Debug, $"Sending message: {messageJson}");
            WsService.Send(messageJson);
            return(this);
        }
        public static WsService WsService(IUnityContainer c)
        {
            var wsServer = c.Resolve <WsServer>();
            var logger   = c.Resolve <Logger>();
            var rv       = new WsService(wsServer, logger);

            rv.RegisterDataTypeForAction <string>("Auth");
            rv.RegisterHandlerForAction("Auth", AuthMessageHandler);
            rv.AddActionFilter(AuthenticationCheck);

            return(rv);
        }
Example #6
0
        /// <summary>
        /// TODO: Добавить DI.
        /// </summary>
        static void Main(string[] args)
        {
            IConnectionStateManager connectionStateManager = new ConnectionStateManager();
            IFileManager            fileManager            = new FileManager(new FileSystemService());
            var apiController   = new ApiController();
            var settingsManager = new SettingsManager();

            ISyncTableDataBase syncDb = new SyncTableDataBase();
            IUserTableDataBase userDb = new UserTableDataBase();
            var telegramService       = new TelegramService(settingsManager.Settings.Token, settingsManager.Settings.Telegram_id);

            telegramService.Configure("/clean_folders", "clean empty folders", () =>
            {
                var ls          = userDb.GetAvailableFolders();
                var removedList = fileManager.RemoveEmptyDirectories(ls);
                var sb          = new StringBuilder();
                sb.AppendLine("Removed dictionaries:");
                sb.AppendJoin(Environment.NewLine, removedList);
                SendToTelegram(sb.ToString());
            });

            var syncModule = new CoreModule(fileManager, syncDb, connectionStateManager, userDb);

            syncModule.Initialize(apiController);
            syncModule.SendMessage += (o, s) => SendToTelegram(s);

            var attachModule = new FilesApi(new FilesService(connectionStateManager, syncDb), connectionStateManager);

            attachModule.Initialize(apiController);
            attachModule.SendMessage += (o, s) => SendToTelegram(s);

            var configModule = new ConfigurationModule(userDb, syncDb);

            configModule.Initialize(apiController);
            configModule.SendMessage += (o, s) => SendToTelegram(s);

            var ws = new WsService(connectionStateManager, apiController, IPAddress.Parse(settingsManager.Settings.IpAddress), settingsManager.Settings.HttpPort, settingsManager.Settings.HttpsPort);

            ws.Start();

            void SendToTelegram(string message)
            {
                telegramService.SendTextMessageAsync(message);
            }

            // TODO: Добавить CancellationToken
            Console.ReadKey(true);

            ws.Stop();
        }
        private void SetupService(WebSocketServer server)
        {
            server.AddWebSocketService <WsService>("/w", () =>
            {
                var service = new WsService(this);
                var peer    = new PeerWsServer(service);

                service.OnMessageEvent += (data) =>
                {
                    peer.HandleDataReceived(data, 0);
                };

                ExecuteOnUpdate(() =>
                {
                    CoroutineHelper.StartCoroutine(peer.SendDelayedMessages(_initialDelay));

                    if (Connected != null)
                    {
                        Connected.Invoke(peer);
                    }
                });

                peer.Disconnected += Disconnected;

                service.OnCloseEvent += reason =>
                {
                    peer.NotifyDisconnectEvent();
                };

                service.OnErrorEvent += reason =>
                {
                    //Debug.LogError(reason);
                    peer.NotifyDisconnectEvent();
                };

                return(service);
            });
        }
Example #8
0
        public DataSet GetRpt_Ws(ExecuteWsMethodParam_Ws param)
        {
            WsService ws = new WsService();

            return(ws.GetRpt_Ws(param));
        }
Example #9
0
        public ExecuteWsMethodResult ExecuteWsMethod_Ws(ExecuteWsMethodParam_Ws param)
        {
            WsService ws = new WsService();

            return(ws.ExecuteWsMethod_Ws(param));
        }