/// <summary>
        /// Показыват сообщение пользователю и возвращает <see cref="Result.Ok"/> в случае подтверждения
        /// </summary>
        /// <param name="message">Сообщение, содерадщее просьбу и описание вариантов ответа для пользователя</param>
        /// <returns></returns>
        public IResult RequstApprove(string message)
        {
            bool           hasApprove = false, hasRefuse = false;
            ConsoleKeyInfo current;

            while (!(hasApprove || hasRefuse))
            {
                Console.WriteLine(message, $"Press {Approval.Description} to");
                current = Console.ReadKey(intercept: true);

                hasApprove = Approval.Contains(current.Key);
                hasRefuse  = Refuse.Contains(current.Key);
            }

            return(hasApprove ? Result.Ok() : Result.Fail(RefusalMessage));
        }