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