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 ...
随机推荐
- VirtualBox--虚拟机网络设置1--(四种方式)
转载自:https://www.douban.com/group/topic/15558388/ VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT,Ne ...
- SqlServer 中的触发器
SqlServer 触发器实现多表之间同步增加.删除与更新 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. ...
- VC.判断双字节字符集前导字节集(IsDBCSLeadByte)
ZC:这是 WIndows API 函数 1.“BOOL IsDBCSLeadByte( char );” 判断 某字节是否在 双字节字符集的前导字节集中 ZC:可以判断 如 汉字.日文.韩文等 Z ...
- 对pandas和pendulum的吐槽——TimeStamp numpy的datetime64的转型问题
今天被这俩货因为时间日期处理不兼容的问题折腾半天,气死人,不吐槽不行了! 这俩简称都可以是pd的库,都TM够轴的,互相兼容极差. pandas 和 pendulum 知名度都很高,也很常用.但我就是用 ...
- 在Windows下解决git ERROR: Permission to XXX.git denied to user
这种情况一般都是由于登陆了不同的git仓库在本地记录了凭证导致的,比如登陆了两个不同的github账号. 1.控制面板 2.删除凭证再重新提交将会重新输入用户名和密码 以上.
- Windows上安装运行hadoop
0.自己编译安装步骤在这里,有英文版本连接:<英文传送门>. 自己编译尝试后不成功,换为下面使用别人编译好的版本的方法.参考博客:<初学hadoop,windows下安装> 1 ...
- nodejs使用log4js记录日志
log4j是java里面最好用的日志记录插件,在.net上面也有移植log4j.net.同样也移植到了nodejs里面,多的不说,把自测通过的代码粘出来吧. var log4js = require( ...
- redis在php运行时出现错误
我的redis版本:3.2.8. redis安装教程,参考官方网站: https://redis.io/download 在网上多番查找,很多说是配置文件redis.conf中的: # bind 12 ...
- ubuntu16.04安装LCM
1.sudo apt-get install build-essential autoconf automake autopoint libglib2.0-dev libtool openjdk-8- ...
- 雷林鹏分享:XML DOM
XML DOM DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法. XML DOM XML DOM(XML Document Object Model) ...