Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        /// <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);
        }