/// <summary> /// 多项验证 /// </summary> /// <returns></returns> public bool CheckItemListValidation() { if (_AccountSetItems == null) { _AccountSetItems = new List <AccountSetItem>(); } List <ExpressionItem> expressionItems = TurnExpressionItem.TurnToExpressionItemList(ParameterNameTitle, _AccountSetItems, TurnExpressionItem.Operation.Check); CheckExpressionItemList checkExpressionItemList = new CheckExpressionItemList(expressionItems, ParameterNameTitle); checkExpressionItemList.TaxFunction += new TaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItemList.TaxWithPointFunction += new TaxWithPointFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItemList.AnnualBonusTaxFunction += new AnnualBonusTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItemList.ForeignTaxFunction += new ForeignTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItemList.AnnualBonusForeignTaxFunction += new AnnualBonusForeignTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItemList.IsSalaryEndDateMonthEquelFunction += new IsSalaryEndDateMonthEquelFunction(13).doFunction; checkExpressionItemList.DoubleSalaryFunction += new DoubleSalaryFunction(new List <EmployeeSalaryHistory>()).doFunction; try { return(checkExpressionItemList.CheckExpressionItemListValid()); } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 单项验证 /// </summary> /// <param name="accountSetItemList"></param> /// <returns></returns> public bool CheckItemValidation(List <AccountSetItem> accountSetItemList) { //if (_CardPropertyPara == null) //{ // throw new ApplicationException(MyCmmiUtility._CardPropertyPara_IsNull); //} if (accountSetItemList == null) { accountSetItemList = new List <AccountSetItem>(); } if (_AccountSetPara == null || _AccountSetPara.MantissaRound == null) { _AccountSetPara.MantissaRound = MantissaRoundEnum.AllMantissaRound; } CheckExpressionItem checkExpressionItem = new CheckExpressionItem(ParameterNameTitle + _AccountSetPara.AccountSetParaID, ParameterNameTitle, TurnExpressionItem.TurnToExpressionItemList(ParameterNameTitle, accountSetItemList, TurnExpressionItem.Operation.Check)); try { checkExpressionItem.TaxFunction += new TaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItem.TaxWithPointFunction += new TaxWithPointFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItem.AnnualBonusTaxFunction += new AnnualBonusTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItem.ForeignTaxFunction += new ForeignTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItem.AnnualBonusForeignTaxFunction += new AnnualBonusForeignTaxFunction(new IndividualIncomeTax(0, 0, new List <TaxBand>())).doFunction; checkExpressionItem.IsSalaryEndDateMonthEquelFunction += new IsSalaryEndDateMonthEquelFunction(12).doFunction; checkExpressionItem.DoubleSalaryFunction += new DoubleSalaryFunction(new List <EmployeeSalaryHistory>()).doFunction; return(checkExpressionItem.CheckExpressionItemValid()); } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 解释并计算 /// </summary> /// <param name="individualIncomeTax"></param> /// <param name="employeeSalaryHistoryList">发薪历史,为去年全年的历史从1月到12月</param> /// <param name="salaryEndDateMonth">发薪月份,如发薪时间2009-1-21-2009-2-20 此时为2</param> public void CalculateItemList(IndividualIncomeTax individualIncomeTax, List <EmployeeSalaryHistory> employeeSalaryHistoryList, int salaryEndDateMonth) { if (_AccountSetItems == null) { return; } List <ExpressionItem> expressionItems = TurnExpressionItem.TurnToExpressionItemList(ParameterNameTitle, _AccountSetItems, TurnExpressionItem.Operation.Calculate); CalculateExpressionItemList calculateExpressionItemList = new CalculateExpressionItemList(expressionItems, ParameterNameTitle); calculateExpressionItemList.IsSalaryEndDateMonthEquelFunction += new IsSalaryEndDateMonthEquelFunction(salaryEndDateMonth).doFunction; calculateExpressionItemList.DoubleSalaryFunction += new DoubleSalaryFunction(employeeSalaryHistoryList).doFunction; calculateExpressionItemList.ForeignTaxFunction += new ForeignTaxFunction(individualIncomeTax).doFunction; calculateExpressionItemList.AnnualBonusForeignTaxFunction += new AnnualBonusForeignTaxFunction(individualIncomeTax).doFunction; calculateExpressionItemList.TaxFunction += new TaxFunction(individualIncomeTax).doFunction; calculateExpressionItemList.TaxWithPointFunction += new TaxWithPointFunction(individualIncomeTax).doFunction; calculateExpressionItemList.AnnualBonusTaxFunction += new AnnualBonusTaxFunction(individualIncomeTax).doFunction; calculateExpressionItemList.CalculateExpressionResult(); TurnExpressionItem.TurnBackAccountSetItemList(expressionItems, _AccountSetItems); }