public async Task PostAsync(SlackMessage message, SlackVacancyNotificationType emoji)
        {
            var emojiIconId = GetEmojiIconId(emoji);

            message.Text = $"{emojiIconId} {message.Text}";

            var payload = SerializePayload(message);

            using (var response = await _httpClient.PostAsync(_webhookUrl, new StringContent(payload)))
            {
                var content = await response.Content.ReadAsStringAsync();

                var success = content.Equals("ok", StringComparison.OrdinalIgnoreCase);

                if (!success)
                {
                    _logger.LogWarning($"Failed to send notification to Slack with url: {_webhookUrl}");
                }
            }
        }
        private string GetEmojiIconId(SlackVacancyNotificationType emoji)
        {
            switch (emoji)
            {
            case SlackVacancyNotificationType.New:
                return(":sparkle:");

            case SlackVacancyNotificationType.Approved:
                return(":heavy_check_mark:");

            case SlackVacancyNotificationType.Referred:
                return(":x:");

            case SlackVacancyNotificationType.ManuallyClosed:
                return(":negative_squared_cross_mark:");

            case SlackVacancyNotificationType.Extended:
                return(":date:");

            default:
                return(":question:");
            }
        }