ORM框架(ITDOS实战源码)
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实战源码)的更多相关文章
- Spring框架之beans源码完全解析
导读:Spring可以说是Java企业开发里最重要的技术.而Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programmin ...
- Spring框架之事务源码完全解析
Spring框架之事务源码完全解析 事务的定义及特性: 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一 ...
- Android 图片加载框架Glide4.0源码完全解析(二)
写在之前 上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法,原本打算是一起发布的,但是由于into方法复杂性 ...
- DotNetty网络通信框架学习之源码分析
DotNetty网络通信框架学习之源码分析 有关DotNetty框架,网上的详细资料不是很多,有不多的几个博友做了简单的介绍,也没有做深入的探究,我也根据源码中提供的demo做一下记录,方便后期查阅. ...
- Spring Boot 揭秘与实战 源码分析 - 工作原理剖析
文章目录 1. EnableAutoConfiguration 帮助我们做了什么 2. 配置参数类 – FreeMarkerProperties 3. 自动配置类 – FreeMarkerAutoCo ...
- Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机
文章目录 1. 开箱即用,内藏玄机 2. 总结 3. 源代码 Spring Boot提供了很多”开箱即用“的依赖模块,那么,Spring Boot 如何巧妙的做到开箱即用,自动配置的呢? 开箱即用,内 ...
- Dream_Spark-----Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码
Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码 本讲内容: a. 在线动态计算分类最热门商品案例回顾与演示 b. 基于案例贯通Spark Streaming的运 ...
- 别人家的 InfluxDB 实战 + 源码剖析
1. 前几次的分享,我们多次提到了下图中 Metrics 指标监控的 Prometheus.Grafana,而且 get 到了 influxdata 旗下的 InfluxDB 的入门技能. 本次,我们 ...
- Spring框架之AOP源码完全解析
Spring框架之AOP源码完全解析 Spring可以说是Java企业开发里最重要的技术.Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Orie ...
随机推荐
- 一: vue的基本使用
一: vue的下载 vue.js是目前前端web开发最流行的工具库之一,由尤雨溪在2014年2月发布的. 另外几个常见的工具库:react.js /angular.js 官方网站: 中文:http ...
- logback的使用
一.logback与log4j的比较(摘自他人博客): 1.更快的实现 Logback的内核重写了,在一些关键执行路径上性能提升10倍以上.而且logback不仅性能提升了,初始化内存加载也 ...
- STL_map.插入
环境:Win7x64.vs08x86 1.类中这样声明:map<string, list<string>> FmapTagAttr; 2.插入数据时这样: list<st ...
- css的table布局
1.table中对tr设置margin-top是没有作用的.
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第五话):总结以及build.xml文件
前面基本上把整个配置过程都完整地串起来了,包括可能遇到的难点,按照那个套路应该可以配置好自动打包发布的功能.简单总结下我的学习过程,以及遇到问题是怎样解决的. 准备一个项目源码 刚开始在github和 ...
- legend2---开发日志5(如何解决插件的延迟问题,比如vue)
legend2---开发日志5(如何解决插件的延迟问题,比如vue) 一.总结 一句话总结:元素可以先设置为隐藏,这样就不会让用户看到延迟的问题,然后等加载完再显示, 元素先设置为隐藏 加载完再显示 ...
- 响应式布局与bootstrap框架
原文 网页布局方式 1.固定宽度布局:为网页设置一个固定的宽度,通常以px做为长度单位,常见于PC端网页. 2.流式布局:为网页设置一个相对的宽度,通常以百分比做为长度单位. 3.栅格化布局:将网页宽 ...
- R语言中知识点总结(二)
一些函数不知道什么意思要查,看数值例子,做笔记,知道函数的功能,函数和返回值. 网页上查找关键词,巧用查找(ctrl+F) 数据读取处理,有read.table read R-读取数据(导入csv ...
- 2.2 调试 HelloWorld.exe 程序
- LeetCode--014--最长公共前缀
问题描述: 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flo ...