Будем весьма благодарны за любые указания или указания на пример (я не могу сформулировать хороший поисковый запрос в Googleplex).
У меня есть модель, использующая перечисления, которые я определяю в словаре, а затем визуализирую в представлении с помощью @ Html.RadioButtonFor и т. Д.
Вот пример моей модели:
public PaymentPlanList PaymentPlan { get; set; }
public enum PaymentPlanList
{
PaymentPlan_One,
PaymentPlan_Two,
}
public class PaymentPlanDictionary
{
public static readonly Dictionary<PaymentPlanList, string> paymentplanDictionary = new Dictionary<PaymentPlanList, string>
{
{ PaymentPlanList.PaymentPlan_One, "One full payment in advance (receive the lowest price)." },
{ PaymentPlanList.PaymentPlan_Two, "Two payments: first payment of 50% due up front, the balance of 50% due within 30 days (increases fee by $100)." },
};
static string ConvertPaymentPlan(PaymentPlanList paymentplanlist)
{
string name;
return (paymentplanDictionary.TryGetValue(paymentplanlist, out name))
? name : paymentplanlist.ToString();
}
static void Main()
{
Console.WriteLine(ConvertPaymentPlan(PaymentPlanList.PaymentPlan_One));
Console.WriteLine(ConvertPaymentPlan(PaymentPlanList.PaymentPlan_Two));
}
}
И, для полноты, это мое мнение, связанное с вышеизложенным:
<p>
@Html.RadioButtonFor(m => m.PaymentPlan, "PaymentPlan_One")
One full payment in advance (receive the lowest price).
</p>
<p>
@Html.RadioButtonFor(m => m.PaymentPlan, "PaymentPlan_Two")
Two payments: first payment 50% due up front, the balance of 50% due within 30 days (increases fee by $100).
</p>
Это система котировок, которую я заполняю пользователями.Скажем, за эту конкретную услугу я беру 1000 долларов.Это базовая цена.Исходя из пользовательского ввода, эта цена будет изменена, и я хочу показать это пользователю.Таким образом, если пользователь выбирает первый вариант, цена остается неизменной.Если пользователь выбирает второй вариант, плата увеличивается на $ 100,00.
Это изменяется экспоненциально, так как есть больше входных данных, которые влияют на цену (если выбрано).
В конечном счете, на основепользовательские входы, мне нужно рассчитать сумму.Я рендеринга вид, который будет отображать итог.Я думал об использовании некоторых блоков @ {} и if / else if, когда операторы либо a) ничего не показывают, если то, что было выбрано, не увеличивает общую сумму, либо b) показывают дополнительную сумму (например, $ 100,00), а затем позже показываютвсего.
Примерно так (РЕДАКТИРОВАНИЕ здесь для ясности):
- Базовый сервис: 1 000,00
- Дополнительный сервис 1: 100,00 $ (только если пользователь выбирает «PaymentPlan_Two» для двухплатежи по 50% каждый (из перечисления PaymentPlanList), в противном случае скрытые (и без добавления $ 100,00), если пользователь выбирает «PaymentPan_One» и платит полностью)
- Addon service2: 0,00 $ (это скрыто и 0,00 $или нет значения, так как пользователь не выбирал ничего из отдельного перечисления, но при выборе будет добавлено значение $ 100,00, что в сумме составит $ 1200,00, если бы оно было выбрано; АЛЬТЕРНАТИВНО, как я могу обработать, если было 3 или более элементовв списке? Например, Choice_One - 0,00 долл. США, Choice_Two - 100 долл. США и Choice_Three - 200,00 долл. США *
- ИТОГО: 1 100,00 долл. США
Спасибо за любую помощь.