私は現在、Lightswitchエンティティ/テーブル(HouseIncome)の計算されたプロパティのためにC#で数式を持っています。Lightswitchでは、別のテーブルのレコードのデータに基づいてエンティティ/テーブルの計算フィールド/プロパティを作成するにはどうすればよいですか?
result = NumberInHouseHold >= 1
? (AnnualHouseHoldIncome/(7880 + (NumberInHouseHold * 4180)))
: 0;
NumberInhouseholdのデータ型はDecimalです。 AnnualHouseHoldIncomeはMoneyのデータ型です。 2つの数字は毎年変わる変数です。 PFPLevelは、Percentデータ型の計算されたプロパティです。この表の各レコードには、Dateデータ型のEmploymentDateプロパティもあります。
この計算では、2017年のためではなく、2018年には素晴らしい作品、そしてその後の数年間は、私が2017年
私のために、もはや正確でないだろうPFPLevelフィールドに表示される新しいガイドラインや情報と計算フィールドを再コーディングする必要がありますHouseIncomeテーブルのレコードに入力されたデータとEmploymentの日付に従ってFPLGuidlinesテーブルから引き出された変数に基づいてPFPLevel計算を行いたいとします。したがって、2017年の人が2011年6月17日の雇用日のレコードを持っていれば、そのレコードはNumberInHousehold、AnnualHouseHoldIncome、および2017年のレコードから引き出されたガイドラインで計算されたPFPlevelを持ちます。
FPLGuidelinesテーブルには4つのフィールドがあります。 Id、YearID、BaseIncome、PerIndividulalAmountは毎年新しいレコードを持ちます。これらのプロパティ/フィールドのそれぞれに必要なデータ型がわかりません。上記の例のベースとなって
partial void PFPLevel_Compute(ref decimal result)
{
if (EmploymentDate.HasValue)
{
var hiy = EmploymentDate.Value.Date.Year;
var gl = DataWorkspace.ApplicationData.FPLGuidelines.Where(e => e.Year == hiy).Execute().FirstOrDefault();
if (gl != null)
{
result = NumberInHouseHold >= 1
? (AnnualHouseHoldIncome/(gl.BaseIncome + (NumberInHouseHold * gl.PerIndividualAmount)))
: 0;
}
}
}
:あなたの計算プロパティに
アプローチの次の型と並ん:
Crhis。あなたのソリューションは、近くに見えますが、私はエラーを取得しています:**重大\tコード\t説明\tライン\t抑制状態 エラー\t CS1061 \t「applicationDataには、」「FPLGuidlines」と受け入れていない拡張メソッド「FPLGuidlines」の定義が含まれていません。 'ApplicationData'型の最初の引数が見つかる可能性があります(使用するディレクティブまたはアセンブリ参照がありませんか?)アクティブ** – Mark
Chris、 ここで遭遇する唯一の問題は次のvar行です。 var hiy = EmploymentDate.Date.Year; ここで、日付には赤で下線が引かれ、次のメッセージが表示されます。 ** 'DateTime?' 'Date'の定義は含まれておらず、 'Date'は 'DateTime'タイプの最初の引数を受け入れません。 ** – Mark
データソースの名前がApplicationData以外の場合は、DataWorkspace.ApplicationDataを変更してデータソースの値を反映させる必要があります。たとえば、次のようになります(例:usingディレクティブまたはアセンブリ参照)。 DataWorkspace.YourDataSourceName。 Dateエラーに関して、私はHouseIncome.EmploymentDateプロパティがnullableではないという私の例に基づいています。私はnullable DateTimeのアプローチを示すために私の例を更新します。 –