public MessageEventResult HandleEvent(MessageEvent messageEvent) { if (!int.TryParse(messageEvent.Message, out int price) || !Enum.IsDefined(typeof(PriceCategories), price)) { throw new PreviousStateUserAnswerException($"Некорректное значение ценовой категории {messageEvent.Message}"); } _stateMachine.GiftCriteria.AddPriceCategory((PriceCategories)price); var gifts = _giftService.GetGiftsByCriteria(_stateMachine.GiftCriteria).ToList(); return(new MessageEventResult(gifts.Count == 0 ? "Не удалось подобрать подарок по вашим критериям :(" : $"Подходящие подарки!\r\n{string.Join("\r\n", gifts)}")); }