예제 #1
0
        public IHttpActionResult Post(ConstraintRec request)
        {
            request.OrgId = SecurityHelper.CurrentPrincipal.OrgId;
            // request.CreateBy = SecurityHelper.CurrentPrincipal.Account;
            request.CreateDate = DateTime.Now;
            var response = service.SaveConstraintRec(request);

            return(Ok(response));
        }
예제 #2
0
        public BaseResponse <IList <ConstraintRec> > QueryConstraintRecExtend(BaseRequest <ConstraintRecFilter> request)
        {
            //var response = base.Query<LTC_CONSTRAINTREC, ConstraintRec>(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.CREATEDATE);
            //    return q;
            //});
            //return response;

            BaseResponse <IList <ConstraintRec> > response = new BaseResponse <IList <ConstraintRec> >();
            var q = from n in unitOfWork.GetRepository <LTC_CONSTRAINTREC>().dbSet
                    join e in unitOfWork.GetRepository <LTC_EMPFILE>().dbSet on n.RECORDBY equals e.EMPNO into res
                    from re in res.DefaultIfEmpty()
                    join e in unitOfWork.GetRepository <LTC_EMPFILE>().dbSet on n.CANCELEXECBY equals e.EMPNO into res2
                    from re2 in res2.DefaultIfEmpty()
                    select new
            {
                ConstraintRec    = n,
                RecordByName     = re.EMPNAME,
                CancelExecByName = re2.EMPNAME
            };

            q = q.Where(m => m.ConstraintRec.FEENO == request.Data.FeeNo && m.ConstraintRec.ORGID == request.Data.OrgId);
            q = q.OrderByDescending(m => m.ConstraintRec.CREATEDATE);
            response.RecordsCount = q.Count();
            Action <IList> mapperResponse = (IList list) =>
            {
                response.Data = new List <ConstraintRec>();
                foreach (dynamic item in list)
                {
                    ConstraintRec newItem = Mapper.DynamicMap <ConstraintRec>(item.ConstraintRec);
                    newItem.RecordByName     = item.RecordByName;
                    newItem.CancelExecByName = item.CancelExecByName;
                    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);
        }
예제 #3
0
        public BaseResponse <ConstraintRec> SaveConstraintRec(ConstraintRec request)
        {
            var response = base.Save <LTC_CONSTRAINTREC, ConstraintRec>(request, (q) => q.SEQNO == request.SeqNo);

            //当增加主档,并且前端传入的数据含有Detail时,增加detail。
            if (response != null && response.Data.SeqNo > 0 && request.Detail != null && request.Detail.Count > 0)
            {
                request.Detail.ForEach((p) =>
                {
                    p.SeqNo = response.Data.SeqNo;
                });
                base.Save <LTC_CONSTRAINSBEVAL, ConstrainsBeval>(request.Detail, (q) => request.Detail.Any(p => p.Id == q.ID));
            }
            return(response);
        }