Exemple #1
0
        /// <summary>
        /// 获取适用的工资税级别
        /// </summary>
        /// <param name="dataRemveThreadhold"></param>
        /// <returns></returns>
        private static SalaryTaxLevel GetSalaryTaxLevel(decimal dataRemveThreadhold)
        {
            SalaryTaxLevel result = new SalaryTaxLevel();
            SalaryTaxConfig config = SalaryTaxConfig.Instance;
            for (int i = 0; i < config.SalaryTax.SalaryTaxLevels.Count; i++)
            {
                SalaryTaxLevel salaryTaxLevel = config.SalaryTax.SalaryTaxLevels[i];
                if (dataRemveThreadhold > salaryTaxLevel.Min && dataRemveThreadhold <= salaryTaxLevel.Max)
                {
                    result= salaryTaxLevel;
                    break;
                }
            }

            return result;
        }
        /// <summary>
        /// 获取config节点,创建配置信息实体
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="configContext"></param>
        /// <param name="section"></param>
        /// <returns></returns>
        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            SalaryTaxConfig config = new SalaryTaxConfig();
            config.SalaryTax.TaxThreshold = XmlHelper.GetNodeValue<decimal>(section, "", "taxThreshold", 3500M);
            foreach (XmlNode currentNode in section.ChildNodes)
            {
                SalaryTaxLevel salaryTaxLevel = new SalaryTaxLevel();
                salaryTaxLevel.ExpressCalcValue = XmlHelper.GetNodeValue<decimal>(currentNode, "", "expressCalcValue");
                salaryTaxLevel.Max = XmlHelper.GetNodeValue<decimal>(currentNode, "", "max");
                salaryTaxLevel.Min = XmlHelper.GetNodeValue<decimal>(currentNode, "", "min");
                salaryTaxLevel.Name = XmlHelper.GetNodeValue<string>(currentNode, "", "name");
                salaryTaxLevel.Rate = XmlHelper.GetNodeValue<decimal>(currentNode, "", "rate");
                config.SalaryTax.SalaryTaxLevels.Add(salaryTaxLevel);
            }

            return config;
        }