2016-04-21 6 views
-2

私の主要プロジェクトの給与計算ソフトウェアを開発しています。すべての税務情報(ジャマイカの所得税)は計算され、追加され、次に幹事がテキストボックスを介して入力する基本給から差し引かれます。C#クラスまたはボタンを使用して従業員の給与を計算しますか?

各タイプの税率と計算は、チェックボックスに含まれています。しかし、一部の税金の計算結果は常に間違っています。基本給が閾値税(22800)未満の場合、所得税は負の値になります。一方のチェックボックスが他のチェックボックスの前にチェックされている場合、そのチェックボックスの結果は不正確になります。

私は、クラス内またはボタンクリックイベント内で従業員の給与のすべての計算を実行する方が簡単かどうかを知りたいと思います。

ご協力いただきありがとうございます。

+2

は間違いなくクラス内です。その後、ボタンのクリックからクラス内のメソッドを呼び出すことができます。 –

+1

間違いなくクラスにあります。ロジックとUIを混在させるべきではありません。 – dotctor

+1

あなたのアプリケーション、バグの症状、および未知のバグを修正する2つの可能性のあるルートについて説明しました。あなたはコードを提供していません。どの答えもベストプラクティスに基づく推測です。しかし、この質問はそれほど答えにくいです。 – Jonesopolis

答えて

0

まず、ここでいくつかのものを混ぜています。

チェックボックスは、データ格納用に決して使用しないでください。 - これらはUI要素であり、そのジョブは表示結果であり、入力を受け取ります。

理想的には、あなたのオブジェクトを表すクラスが必要です。この場合はPayRollです。 PayRollクラスは、自分の税計算、給与額、給与計算に関連するすべてについて知っている必要があります。

控除対象の税額に対応するチェックボックスがある場合は、選択したチェックボックスの状態に基づいて税額を返すリゾルバクラスを使用します。ただし、チェックボックスの値は列挙型に対応する必要があります。マウスのクリックイベントでは、あなただけのカップルラインを持っている必要があり

、このような何か:

// get your tax here into taxAmount variable, then... 

var currentPayroll = //somehow get your payroll where ever you are storing it. 
currentPayroll.CalculateTax(taxAmount); 

あなたはSOLID principlesについての詳細を読むために必要があります。

関連する問題