私のプロジェクトでは、ユーザーがさまざまな機能を可能にするさまざまなサブスクリプション料金にサインアップできるようにします。一部のユーザーは無料サブスクリプションを利用しているため、機能が制限されていますが、有料ユーザーは自分のアカウントで追加のアクションを実行できます。この機能はまだ実装されていませんが、料金の詳細についてはビューを作成しています。
「SubscriptionTariffs」テーブルと「SubscriptionServices」テーブルがあり、後者は各サービスの前者のIDフィールドへの外部キーを保持しています。私の見解では、料金がそれらをサポートしているかどうかに関係なく、可能なすべてのサービスを表示したいと思います。それらがその料金表で利用できる場合は、チェックボックスをオンにします。その逆も同様です。
したがって、無料の料金については、最初の7つのオプションがチェックマークで表示され、他のオプションはマークされていないがまだ表示されている次のようなものを表示したいと思います。
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.ViewTransactions</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.CreateTransactions</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.Announcements</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.Alerts</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.Foldering</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.TransactionDownload</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.TransactionUpload</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @Language.EZApproval</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.SupplyChainFinance</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.HierarchicalOrgs</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.WhiteLabeling</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.MultiFormatDownload</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.MultiFormatUpload</td></tr>
<tr><td style="padding:5px;"><input type="checkbox" DISABLED /> @Language.VANInteroperability</td></tr>
関連するすべてのサービスを料金表に表示するために、次のように記述しました。
@{
foreach (var SubscriptionService in this.Model.SubscriptionServices)
{
<tr><td style="padding:5px;"><input type="checkbox" DISABLED checked /> @(SubscriptionService.ServiceName != null ? SubscriptionService.ServiceName : "")</td></tr>
}
}
これは正常に機能しますが、すべてのサービスを表示し、必要に応じてそれらをオンまたはオフにする必要があります。
誰かが私を正しい方向に向けてくれたら非常にありがたいです。if-elseステートメントかチェックするものを書くことができるはずだと思いますが、完全にはわかりません。