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());
        }