예제 #1
0
        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)}"));
        }