ORM框架(ITDOS实战源码)

时间:2023-03-09 22:36:13
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