В моем заявлении указано следующее требование.
Имя моей организации - Платеж. При совершении платежа у меня следующие условия. Исходя из этих условий я должен сказать, что это оплата или восстановление или около sh. Я определил все эти условия в словаре.
Dictionary<string, string> paymentTypes = new Dictionary<string, string>();
paymentTypes.Add("Cash", "Payment.Type = 'C' and Recovery != ''");
paymentTypes.Add("Recovery", "Payment.Recovery = ''");
paymentTypes.Add("Payment", "Payment.Recovery != ''");
Как во время выполнения проверить значения объекта платежа с помощью словаря? Исходя из условия, я должен выбрать ключ словаря.
Я перепробовал несколько их всех или математический анализатор, который не поддерживает строку в выражениях.
Я не могу преобразовать мои выражения в динамическое c выражение. Все эти выражения будут поступать из БД в виде строки. Как мне определить выражение, когда моя сущность является обобщенной c? это выражения, которые я сделал.
Expression<Func<Payment, bool>> cashFilter = payment => payment.Recovery == "" && payment.Type != "V" && payment.Type != "S";
Expression<Func<Payment, bool>> paymentFilter = payment => payment.Recovery == "";
Expression<Func<Payment, bool>> recoveryFilter = payment => payment.Recovery != "";