2016-04-21 53 views
-2

我正在爲我的主要項目開發工資軟件。所有的稅務信息(牙買加所得稅)都應該計算,增加,然後從祕書通過文本框輸入的基本工資中扣除。C#通過點擊按鈕來計算員工薪水?

每種稅種的稅率和計算都包含在複選框中。然而,一些稅收的計算結果總是不正確的。如果基本工資低於門檻稅(22800),則所得稅成爲負值。如果一個複選框在另一個複選框之前被選中,那麼該複選框的結果不正確。

我想知道是否可以更容易地在類中或按鈕單擊事件中執行員工工資的所有計算。

在此先感謝您的幫助。

+2

絕對在一個類。然後,您可以通過單擊按鈕在班級中調用該方法。 –

+1

絕對在課堂上。你不應該混合邏輯和用戶界面。 – dotctor

+1

你描述了你的應用程序,一個bug的症狀,以及兩條修復你未知bug的潛在途徑。你還沒有提供任何代碼。任何答案都是基於最佳實踐的猜測。但這個問題幾乎無法回答。 – Jonesopolis

回答

0

首先,你在這裏混合了一些東西。

複選框不應該用於數據存儲 - 這些是UI元素,它們的工作是顯示結果,或採取輸入。

理想情況下,您應該有一個代表您的對象的類 - 在這種情況下,我猜PayRoll。 PayRoll類應該瞭解自己的稅務計算,薪水數額以及與薪資相關的所有內容。

如果您有與要扣除的稅額相對應的複選框,請使用某種解析器類,根據所選複選框的狀態返回您的稅額。但是複選框值應該與Enum相對應。

在你的鼠標點擊事件,你應該只有幾行,像這樣:

// 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