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));
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        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);
        }