ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

如以下示例:

  public int GetSystemAccreditMessageInfo(AccreditParam param)
{
var where = new Where<User>();
var countMesage = ;//记录提醒次数
HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
if (cookie["Login_id"] != null)
{
where.And(d => d.id == cookie["Login_id"].ToString());
}
where.And(d => d.Del_state == );
var fs = DB.Context.From<User>()
.Select(User._.All, Power._.All)
.InnerJoin<Power>((a, b) => a.Role_id == b.id)
.Where(where);
if (fs.First().Authority == "")
{
countMesage = ;
}
else if (fs.First().Authority == "")
{
countMesage = DB.Context.From<Accredit>().Where(d => d.OAuditor_signature == null || d.OAuditor_signature == "").Count();
}
else if (fs.First().Authority == "")
{
countMesage = DB.Context.From<Accredit>().Where(d => d.TAuditor_signature == null || d.TAuditor_signature == "").Count();
}
else if (fs.First().Authority == "")
{
countMesage = DB.Context.From<Accredit>().Where(d => d.OAuditor_signature == null || d.OAuditor_signature == "" || d.TAuditor_signature == null || d.TAuditor_signature == "").Count();
}
return countMesage;
}

AccreditLogic.cs

 public BaseResult AddAccreditInfo(AccreditParam param)
{
var model = new Accredit();
model.id = Guid.NewGuid().ToString();
model.Acceptance_number = param.Acceptance_number;
model.Certificate_number = param.Certificate_number;
model.Issuing_office = param.Issuing_office;
model.Issue_date = param.Issue_date;
model.Effective_date = param.Effective_date;
model.Authorization_projectname = param.Authorization_projectname;
model.Measuring_range = param.Measuring_range;
model.Accuracy = param.Accuracy;
model.Organization_name = param.Organization_name;
model.Address = param.Address;
model.Corporate_representative = param.Corporate_representative;
model.Leading_person = param.Leading_person;
model.Competent_department = param.Competent_department;
model.Authorized_area = param.Authorized_area;
model.Authorization_form = param.Authorization_form;
model.Approver = param.Approver;
model.Input_person = param.Input_person;
model.Input_unit = param.Input_unit;
model.Acceptance_date = param.Acceptance_date;
HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
if (cookie["OrgId"] != null)
{
model.OrgId = cookie["OrgId"].ToString();
}
if (cookie["OrgId"]=="63001c38-afa4-4a06-567d-0f39b6b5ca9b")
{
model.Processing_state = ;
}
model.Remarks = param.Remarks;
model.Del_state = ;
model.Time = DateTime.Now;
//model.Processing_state = param.Processing_state;
model.brand = param.brand;
var count = DB.Context.Insert<Accredit>(model);
return new BaseResult(true, model, "", count);
}
  public BaseResult UptAccreditInfo(AccreditParam param)
{
var result = GetUpdateModel(param);
if (!result.IsSuccess)
return result; var model = (Accredit)result.Data;
model.Acceptance_number = param.Acceptance_number;
model.Certificate_number = param.Certificate_number;
model.Issuing_office = param.Issuing_office;
model.Issue_date = param.Issue_date;
model.Effective_date = param.Effective_date;
model.Authorization_projectname = param.Authorization_projectname;
model.Measuring_range = param.Measuring_range;
model.Accuracy = param.Accuracy;
model.Organization_name = param.Organization_name;
model.Address = param.Address;
model.Corporate_representative = param.Corporate_representative;
model.Leading_person = param.Leading_person;
model.Competent_department = param.Competent_department;
model.Authorized_area = param.Authorized_area;
model.Authorization_form = param.Authorization_form;
model.Approver = param.Approver;
model.Input_person = param.Input_person;
model.Input_unit = param.Input_unit;
HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
if (cookie["OrgId"] != null)
{
model.OrgId = cookie["OrgId"].ToString();
}
if (cookie["OrgId"] == "63001c38-afa4-4a06-567d-0f39b6b5ca9b")
{
model.Processing_state = ;
}
model.Acceptance_date = param.Acceptance_date;
model.Remarks = param.Remarks;
model.Del_state = ;
//model.Processing_state = param.Processing_state??model.Processing_state;
model.Time = DateTime.Now;
model.brand = param.brand;
var count = DB.Context.Update(model, d => d.id == param.id);
return new BaseResult(true, model, "", count);
}

AccreditLogic.cs

ORM框架(ITDOS实战源码)的更多相关文章

  1. Spring框架之beans源码完全解析

    导读:Spring可以说是Java企业开发里最重要的技术.而Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programmin ...

  2. Spring框架之事务源码完全解析

    Spring框架之事务源码完全解析   事务的定义及特性: 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一 ...

  3. Android 图片加载框架Glide4.0源码完全解析(二)

    写在之前 上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法,原本打算是一起发布的,但是由于into方法复杂性 ...

  4. DotNetty网络通信框架学习之源码分析

    DotNetty网络通信框架学习之源码分析 有关DotNetty框架,网上的详细资料不是很多,有不多的几个博友做了简单的介绍,也没有做深入的探究,我也根据源码中提供的demo做一下记录,方便后期查阅. ...

  5. Spring Boot 揭秘与实战 源码分析 - 工作原理剖析

    文章目录 1. EnableAutoConfiguration 帮助我们做了什么 2. 配置参数类 – FreeMarkerProperties 3. 自动配置类 – FreeMarkerAutoCo ...

  6. Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机

    文章目录 1. 开箱即用,内藏玄机 2. 总结 3. 源代码 Spring Boot提供了很多”开箱即用“的依赖模块,那么,Spring Boot 如何巧妙的做到开箱即用,自动配置的呢? 开箱即用,内 ...

  7. Dream_Spark-----Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码

    Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码   本讲内容: a. 在线动态计算分类最热门商品案例回顾与演示 b. 基于案例贯通Spark Streaming的运 ...

  8. 别人家的 InfluxDB 实战 + 源码剖析

    1. 前几次的分享,我们多次提到了下图中 Metrics 指标监控的 Prometheus.Grafana,而且 get 到了 influxdata 旗下的 InfluxDB 的入门技能. 本次,我们 ...

  9. Spring框架之AOP源码完全解析

    Spring框架之AOP源码完全解析 Spring可以说是Java企业开发里最重要的技术.Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Orie ...

随机推荐

  1. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

    解决方法: 如果安装的是GPU版本 如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置).在这种情况下,您可以简单地忽略此警告: import ...

  2. Mysql一些常用语句

    1.查询表创建的时间: SELECT CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERETABLE_NAME='TableName'

  3. hbase非结构化数据库与结构化数据库比较

    目的:了解hbase与支持海量数据查询的特性以及实现方式 传统关系型数据库特点及局限 传统数据库事务性特别强,要求数据完整性及安全性,造成系统可用性以及伸缩性大打折扣.对于高并发的访问量,数据库性能不 ...

  4. 学习笔记17—circos安装集(window环境)

    Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...

  5. AD绘制PCB时,贴片封装器件的焊盘间距小于10Mil,报错解决

    Design->Rules->Manufacturing->Minimum Solder Mask Sliver

  6. 手动增删windows 服务和dll函数

    ①注册windows服务 sc create "服务名AAA" binPath= "安装目录\AAA.exe" displayname= "服务显示名 ...

  7. Getting started with Processing 第六章总结

    平移,旋转和缩放 前言 在这一章节中,平移.旋转和缩放都是以原点为基准的.并且是通过控制坐标系原点的位置来达到图元平移,旋转.缩放的视觉效果.作者在文中的原话是:另一种在屏幕上改变位置和移动物体的技术 ...

  8. C# FTP上传文件至服务器代码

    C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...

  9. find xss

    from :http://blog.sina.com.cn/s/blog_68d342d90100nh7b.html 什么是XSS跨站攻击: http://baike.baidu.com/view/5 ...

  10. CentOS7.3环境下源码安装httpd

    CentOS7.3环境下源码安装httpd 本文在CentOS7.3下,源码安装apache服务httpd2.4. 1.下载好源码安装包 [root@localhost ~]#ll total 625 ...