public void CalculateLeave(string userAcount, string xml)   //传过来的是xml内容
{
try
{
var xmlDoc = new System.Xml.XmlDataDocument(); //生成一个xml操作对象
xmlDoc.LoadXml(xml); //加载xml内容文本 注意Load加载的是物理路径
var xmlRoot = xmlDoc.DocumentElement; //使用 XmlDocument读取的方法,还有LINQ和XmlTextReader
if (xmlRoot == null) return;
var node = xmlRoot.SelectNodes("Item"); //找到所有的Item节点
if (node == null) return;
decimal sum = ;
foreach (XmlNode xn in node)
{
var singleNode = xn.SelectSingleNode("ExpenseType"); //SelectNodes和SelectSingleNode就是所有和单个的区别
if (singleNode == null || singleNode.InnerText != "年休假") continue;
var selectSingleNode = xn.SelectSingleNode("Days");
if (selectSingleNode == null) continue;
var day = selectSingleNode.InnerText;
sum += Convert.ToDecimal(day);
}
var user = BLL.MasterDataSservice.UserConfigureService.GetInstance().Get(userAcount); user.Annualleave = Convert.ToDecimal(user.Annualleave) - sum;
BLL.MasterDataSservice.UserConfigureService.GetInstance().Update(user);
}
catch (Exception)
{ }
}

最新文章

  1. Android面试题--事件处理
  2. ShooterGame 学习笔记1 PlayerPawn的两个Mesh的可见性
  3. Unity3D——键盘控制移动
  4. 怎样写 OpenStack Neutron 的 Plugin (二)
  5. .net学习之多线程、线程死锁、线程通信 生产者消费者模式、委托的简单使用、GDI(图形设计接口)常用的方法
  6. C# Community Projects
  7. SDUT 2608:Alice and Bob
  8. java动态绑定的情况分析
  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(21)-权限管理系统-跑通整个系统
  10. C++使用模版技术将任意类型的数据转为某个类型的数据
  11. 深入理解urllib、urllib2及requests
  12. 02-Foundation-NSMutableString、NSNumber、NSValue、NSDate、NSArray
  13. linux下base命令
  14. jQuery 去空
  15. http://codeforces.com/problemset/problem/545/D
  16. Phoenix与Hive学习资料
  17. Scala:类,对象和特征(接口)
  18. Python基础:九、运算符
  19. C# CEF 封装UserControl
  20. Netty+SpringBoot写一个基于Http协议的文件服务器

热门文章

  1. SGU - 311 Ice-cream Tycoon(线段树)
  2. c++代码赏析之类对象传參
  3. Spring MVC @ResponseBody响应中文乱码
  4. 两个喜欢的"新"C#语法
  5. Cordova打包vue项目(Android)
  6. Linux 下的编辑/编译器
  7. ALLOWED_HOSTS = ['*']
  8. (15)ServletConfig对象详解
  9. SRM691 Sunnygraphs2
  10. 使用JSTL 对在页面上对 0,0,1 的分割处理 forTokens