public async Task HandleMeasureSystemSettingsAnswer(CallbackQuery callbackQuery) { var chatId = callbackQuery.Message.GetChatId(); await this._telegramBotClient.SendChatActionAsync(chatId, ChatAction.FindLocation); var measureSystem = string.Empty; if (callbackQuery.Data == TelegramCommand.MeasureMetric) { measureSystem = "metric"; } else if (callbackQuery.Data == TelegramCommand.MeasureImperial) { measureSystem = "imperial"; } var subscriber = await this._subscriberService.GetByTelegramUserId(callbackQuery.Message.GetUserTelegramId()); var subscriberSettings = await this._subscriberSettingsService.GetBySubscriberId(subscriber.Id); if (subscriberSettings is null) { subscriberSettings = new SubscriberSettingsDTO { SubscriberId = subscriber.Id }; } subscriberSettings.MeasureSystem = measureSystem; await this._subscriberSettingsService.Edit(subscriberSettings); await this._telegramBotClient.SendTextMessageAsync(chatId, $"✔️ Measure system is successfully changed to {measureSystem}!", replyMarkup : this.CreateKeyboard()); }
public async Task <SubscriberSettingsDTO> Edit(SubscriberSettingsDTO dto) { var subscriberSettings = this._mapper.Map <SubscriberSettings>(dto); var result = await this._subscriberSettingsRepository.Edit(subscriberSettings); return(this._mapper.Map <SubscriberSettingsDTO>(result)); }
public async Task HandleDailyForecastsSettingsAnswer(CallbackQuery callbackQuery) { var chatId = callbackQuery.Message.GetChatId(); await this._telegramBotClient.SendChatActionAsync(chatId, ChatAction.FindLocation); var isEnable = false || callbackQuery.Data == TelegramCommand.EnableDailyForecasts; var subscriber = await this._subscriberService.GetByTelegramUserId(callbackQuery.Message.GetUserTelegramId()); var subscriberSettings = await this._subscriberSettingsService.GetBySubscriberId(subscriber.Id); if (subscriberSettings is null) { subscriberSettings = new SubscriberSettingsDTO { SubscriberId = subscriber.Id }; } subscriberSettings.IsReceiveDailyWeather = isEnable; await this._subscriberSettingsService.Edit(subscriberSettings); await this._telegramBotClient.SendTextMessageAsync(chatId, $"✔️ Daily weather forecasts are successfully {(isEnable ? "enabled" : "disabled")}!", replyMarkup : this.CreateKeyboard()); }