public IHttpActionResult Post(PainEvalRec request) { request.OrgId = SecurityHelper.CurrentPrincipal.OrgId; request.CreateBy = SecurityHelper.CurrentPrincipal.LoginName; request.CreateDate = DateTime.Now; var response = service.SavePainEvalRec(request); return(Ok(response)); }
/// <summary> /// 获取疼痛列表 /// </summary> /// <param name="request">请求参数</param> /// <returns>返回参数</returns> public BaseResponse <IList <PainEvalRec> > QueryPainEvalRecExtend(BaseRequest <PainEvalRecFilter> request) { //var response = base.Query<LTC_PAINEVALREC, PainEvalRec>(request, (q) => //{ // if (!string.IsNullOrEmpty(request.Data.OrgId)) // { // q = q.Where(m => m.ORGID == request.Data.OrgId && m.FEENO == request.Data.FeeNo); // } // q = q.OrderBy(m => m.ORGID); // return q; //}); //return response; BaseResponse <IList <PainEvalRec> > response = new BaseResponse <IList <PainEvalRec> >(); var q = from n in unitOfWork.GetRepository <LTC_PAINEVALREC>().dbSet join e in unitOfWork.GetRepository <LTC_EMPFILE>().dbSet on n.NEXTEVALUATEBY equals e.EMPNO into res from re in res.DefaultIfEmpty() select new { PainEvalRec = n, NextEvaluateByName = re.EMPNAME, }; q = q.Where(m => m.PainEvalRec.FEENO == request.Data.FeeNo); q = q.Where(m => m.PainEvalRec.ORGID == request.Data.OrgId); q = q.OrderByDescending(m => m.PainEvalRec.ORGID); response.RecordsCount = q.Count(); Action <IList> mapperResponse = (IList list) => { response.Data = new List <PainEvalRec>(); foreach (dynamic item in list) { PainEvalRec newItem = Mapper.DynamicMap <PainEvalRec>(item.PainEvalRec); newItem.NextEvaluateByName = item.NextEvaluateByName; response.Data.Add(newItem); } }; if (request != null && request.PageSize > 0) { var list = q.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(); response.PagesCount = GetPagesCount(request.PageSize, response.RecordsCount); mapperResponse(list); } else { var list = q.ToList(); mapperResponse(list); } return(response); }
public BaseResponse <PainEvalRec> SavePainEvalRec(PainEvalRec request) { var result = base.Save <LTC_PAINEVALREC, PainEvalRec>(request, (q) => q.SEQNO == request.SeqNo); //当增加主档,并且前端传入的数据含有Detail时,增加detail。 //if (request.SeqNo > 0 && result != null && request.Detail != null && request.Detail.Count > 0) //{ // request.Detail.ForEach((p) => // { // p.SeqNo = result.Data.SeqNo; // p.CreateBy = SecurityHelper.CurrentPrincipal.LoginName; // p.CreateDate = DateTime.Now; // }); // base.Save<LTC_PAINBODYPART, PainBodyPartRec>(request.Detail, (q) => request.Detail.Any(p => p.Id == q.ID)); //} return(result); }