/// <summary> /// 添加依据模板 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool SaveBaseOnTemplate(string historyId, List <BaseTemplateResult> list) { if (list == null) { LogService.WriteInfoLog(logTitle, "试图查找为空的CTMS_BASETEMPLATERESULT实体!"); return(false); } using (var db = DbSessionFactory.GetCurrentDbContext()) { var oldList = db.Set <CTMS_BASETEMPLATERESULT>().Where(p => p.HISTORYID == historyId).ToList(); foreach (var item in oldList) { db.Set <CTMS_BASETEMPLATERESULT>().Remove(item); db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().Where(p => p.REPORTID == item.BASETEMPLATEID) .ForEachAsync(k => db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().Remove(k)); } foreach (var baseTemplateResult in list) { db.Set <CTMS_BASETEMPLATERESULT>().Add(ModelToEntity(baseTemplateResult)); //结果不序列化成json的存放 Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(baseTemplateResult.RESULT); if (dic.Count > 0) { foreach (string key in dic.Keys) { CTMS_IMAGEEXAMINEREPORTDETAIL detail = new CTMS_IMAGEEXAMINEREPORTDETAIL(); detail.ID = Guid.NewGuid().ToString(); detail.REPORTID = baseTemplateResult.BASETEMPLATEID; detail.OPTIONID = key; detail.VALUE = dic[key]; db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().Add(detail); } } } return(db.SaveChanges() > 0); } }
public IHttpActionResult Post([FromBody] Request <ImageExamineReport> req) { try { ImageExamineReport model = req.Data; Response <ImageExamineReport> rsp = new Response <ImageExamineReport> (); if (string.IsNullOrEmpty(model.Id)) { //新增 string id = Guid.NewGuid().ToString(); model.Id = id; model.CreateUserId = User.UserId; model.CreateUserName = User.LoginName; model.CreateDateTime = model.CreateDateTime == null ? DateTime.Now : model.CreateDateTime; model.IsDeleted = 0; model.EditUserName = User.LoginName; model.EditUserId = User.UserId; model.EditDateTime = DateTime.Now; model.UserId = Guid.Parse(model.UserId).ToString(); model.Remark = ""; bool result = _ier.AddImageExamineReport(model); rsp.Data = model; if (result) { Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(model.ReportDetail); if (dic.Count > 0) { var detailList = (from x in _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>() where x.REPORTID == model.Id select x).ToList(); if (detailList.Count > 0) { _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().RemoveRange(detailList); } foreach (string key in dic.Keys) { CTMS_IMAGEEXAMINEREPORTDETAIL detail = new CTMS_IMAGEEXAMINEREPORTDETAIL(); detail.ID = Guid.NewGuid().ToString(); detail.REPORTID = model.Id; detail.OPTIONID = key; detail.VALUE = dic[key]; _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().Add(detail); } _db.SaveChanges(); } return(Ok(rsp)); } } else { //修改 ImageExamineReport m = _ier.GetImageExamineReportById(model.Id); if (m != null) { if (model.CheckDate != null) { m.CheckDate = model.CheckDate; } if (!string.IsNullOrEmpty(model.Dept)) { m.Dept = model.Dept; } if (!string.IsNullOrEmpty(model.Part)) { m.Part = model.Part; } if (!string.IsNullOrEmpty(model.Diagnose)) { m.Diagnose = model.Diagnose; } if (!string.IsNullOrEmpty(model.See)) { m.See = model.See; } if (!string.IsNullOrEmpty(model.ReportDoctor)) { m.ReportDoctor = model.ReportDoctor; } if (!string.IsNullOrEmpty(model.ReportDetail)) { m.ReportDetail = model.ReportDetail; } if (!string.IsNullOrEmpty(model.CheckDoctor)) { m.CheckDoctor = model.CheckDoctor; } bool result = _ier.UpdateImageExamineReport(m); rsp.Data = m; if (result) { Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(model.ReportDetail); if (dic.Count > 0) { var detailList = (from x in _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>() where x.REPORTID == model.Id select x).ToList(); if (detailList.Count > 0) { _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().RemoveRange(detailList); } foreach (string key in dic.Keys) { CTMS_IMAGEEXAMINEREPORTDETAIL detail = new CTMS_IMAGEEXAMINEREPORTDETAIL(); detail.ID = Guid.NewGuid().ToString(); detail.REPORTID = model.Id; detail.OPTIONID = key; detail.VALUE = dic[key]; _db.Set <CTMS_IMAGEEXAMINEREPORTDETAIL>().Add(detail); } _db.SaveChanges(); } return(Ok(rsp)); } } } return(BadRequest("操作失败")); } catch (DbEntityValidationException ex) { LogService.WriteErrorLog("ExamineReportController[Post]", ex.ToString()); return(BadRequest(ex.Message)); } catch (Exception ex) { LogService.WriteErrorLog("ExamineReportController[Post]", ex.ToString()); return(BadRequest(ex.Message)); } }