public async Task <MessageForSendDto <object> > CreateMessageForSend(MessageDto message) { MessageForSendDto <object> messageForSend; var chatId = message.Chat.Id; var messageText = message.Text; switch (messageText.ToLower()) { case "/start": messageForSend = new MessageForSendDto <object>() { ChatId = chatId, Text = "Наберите валютную пару Binance или " + "выберите из примерных предложенных.", ReplyMarkup = GetButtons(chatId) }; break; case "/remove": messageForSend = new MessageForSendDto <object>() { ChatId = chatId, Text = "Удаление клавиатуры", ReplyMarkup = new TelegramRemoveButtons() }; break; case "/inline": messageForSend = new MessageForSendDto <object>() { ChatId = chatId, Text = "inline menu", ReplyMarkup = GetInlineButtons(chatId) }; break; default: string symbol = messageText.ToUpper(); string url = Binance24hrUrl.Replace("pair", symbol); messageForSend = new MessageForSendDto <object>() { ChatId = chatId }; try { var apiLogger = _logger as MyLogger <ApiGetingData <_24hrTickerDto> >; var get24hrTicker = new ApiGetingData <_24hrTickerDto>(apiLogger); var ticker = await get24hrTicker.GetDataAsync(url); messageForSend.Text = ticker.ToString(); await _logger.LogInformation(ticker.ToString()); } catch (Exception ex) { await _logger.LogInformation(ex.Message); messageForSend.Text = $"Пары на Binance {messageText} не существует"; } break; } return(messageForSend); }
public async Task Execute(IUserContext userContext, TCommand command) { _ = command ?? throw new ArgumentNullException(nameof(command)); _logger.LogInformation(command.GetType().Name); await _decoratee.Execute(userContext, command); }
public TResult Handle(IUserContext userContext, TQuery query) { var sw = new Stopwatch(); var result = _decorated.Handle(userContext, query); sw.Stop(); _logger.LogInformation($"Query {nameof(query)} elapsed:{sw.Elapsed}."); return(result); }
private async Task SaveResponseData(string response = "") { await Task.Run(async() => { await _logger.LogInformation($"\nRESPONSE FROM TELEGRAM \n{response}"); if (!response.Contains("error")) { var responseDto = JsonConvert.DeserializeObject <ResponseDto>(response); await _logger.LogResponseFromTelegram(responseDto); if (responseDto != null) { var responseForCreation = _mapper.Map <Response>(responseDto); await _logger.LogResponseFromTelegram(responseForCreation); _dataRepository.Add(responseForCreation); await _dataRepository.SaveAllAsync(); } } }); }
public async Task <string> SendDataAsync( T entity, string url, Proxy proxy = null) { WebClient web = new WebClient(); web.Headers[HttpRequestHeader.ContentType] = "application/json"; //web.Encoding = System.Text.Encoding.UTF8; if (proxy != null) { web.Proxy = new WebProxy(proxy.Address); web.Proxy.Credentials = new NetworkCredential( proxy.Username, proxy.Password ); } //var parameters = await GetParameters(entity); var jsonData = JsonConvert.SerializeObject( entity , Formatting.None , new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } ); string response = ""; try { await _logger.LogInformation($"Using proxy {proxy.Address.ToString()}"); await _logger.LogInformation($"SEND TO USER JSON SERIALIZED DATA {jsonData}"); response = await web.UploadStringTaskAsync(url, "POST", jsonData); } catch (Exception ex) { await _logger.LogInformation("Error send: " + ex.Message); response = ex.Message; //throw new Exception(ex.Message); } finally { await _logger.LogInformation("Finished request to the telegram");//$"SEND TO USER in the form of a OBJECT: {entity.GetDump()}"); } //await LogInformation($"Sent to url: {url} with count of parameters: {parameters.Count}"); return(response); }//return await web.UploadValuesTaskAsync(url, parameters);
public TResult Handle(IUserContext userContext, TQuery query) { _logger.LogInformation(nameof(query)); return(_decorated.Handle(userContext, query)); }