Exemple #1
0
        public async Task <IResponse> StartCommand(long telegramId, string token)
        {
            var errorResponse = ChainResponse.Create()
                                .AddResponse(TextResponse.Create("Что-то пошло не так, попробуйте еще раз"));

            var isValidToken = await authorizationProvider.IsValidAuthorizationToken(token);

            if (!isValidToken)
            {
                return(errorResponse);
            }

            try
            {
                await authorizationProvider.CheckOrInitializeWorkspace(token);

                userTokenStorage.Set(telegramId, new TrelloApiToken
                {
                    Token = token
                });
                return(TextResponse.Create(@"
Отлично! Авторизация успешно пройдена!

Теперь в твоем Trello аккаунте появилась новая таблица `TrelloTaskManager`.
В ней ты найдешь 3 листа, работа с которыми и происходит внутри этого бота.
Так же, ты можешь сам зайти на доску и добавить задачу в нужный тебе лист.
Данные автоматически будут синхронизированны.
"));
            }
            catch
            {
                return(errorResponse);
            }
        }
        public bool Consensus()
        {
            foreach (var node in Nodes)
            {
                var client   = new HttpClient();
                var response = client.GetAsync($"{node}/chain/chain");
                response.Wait();

                ChainResponse chain = null;
                if (response.Result.IsSuccessStatusCode)
                {
                    chain = response.Result.Content.ReadAsAsync <ChainResponse>().Result;
                }

                if (chain == null)
                {
                    return(false); // error reading remote chain
                }
                if (chain.Length > LastBlock.index && ValidChain(chain.Chain))
                {
                    // replace our chain
                    Chain = chain.Chain;
                    return(true);
                }
            }

            return(false);
        }
Exemple #3
0
        public ChainResponse ToNext(IReport itemToBePassed)
        {
            ChainResponse response = approver.Approve(itemToBePassed);

            if (response == ChainResponse.Denied)
            {
                return(next.ToNext(itemToBePassed));
            }
            return(response);
        }
        public IActionResult Chain()
        {
            var chain = _blockchain.FullChain;

            var response = new ChainResponse {
                Chain  = chain,
                Length = chain.Count
            };

            return(Ok(response));
        }