Esempio n. 1
0
        public async Task InvokeAsync(GiveSyncInput input, TraceWriter log)
        {
            var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new UserFriendlyException("The board does not exist.");

            var triggerResult = await _pusher.TriggerAsync(board.ToString(), Sync_GiveSync.EventName, new Sync_GiveSync { AskForSyncClientId = input.AskForSyncClientId, BoardItems = input.BoardItems });

            if (triggerResult.StatusCode != HttpStatusCode.OK)
            {
                throw new ApplicationException($"Cannot publish {Sync_GiveSync.EventName}. {JsonConvert.SerializeObject(triggerResult)}");
            }
        }
        public async Task InvokeAsync(CreateBoardItemInput input, TraceWriter log)
        {
            var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new UserFriendlyException("The board does not exist.");

            var triggerResult = await _pusher.TriggerAsync(board.ToString(), BoardItem_Create.EventName, new BoardItem_Create { Type = input.Type });

            if (triggerResult.StatusCode != HttpStatusCode.OK)
            {
                throw new ApplicationException($"Cannot publish {BoardItem_Create.EventName}. {JsonConvert.SerializeObject(triggerResult)}");
            }
        }
Esempio n. 3
0
        public async Task <JoinBoardOutput> InvokeAsync(JoinBoardInput input, TraceWriter log)
        {
            var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new Exception("The board does not exist.");

            var clientId = Guid.NewGuid().ToString();

            var triggerResult = await _pusher.TriggerAsync(board.ToString(), Board_Join.EventName, new Board_Join { ClientId = clientId });

            if (triggerResult.StatusCode != HttpStatusCode.OK)
            {
                log.Error($"Cannot publish {Board_Join.EventName}. {JsonConvert.SerializeObject(triggerResult)}");
            }

            return(new JoinBoardOutput
            {
                Channel = board.ToString(),
                ClientId = clientId
            });
        }