예제 #1
0
        public IHttpActionResult Post(FallIncidentEvent request)
        {
            request.OrgId = SecurityHelper.CurrentPrincipal.OrgId;
            var response = service.SaveFallIncidentEvent(request);

            return(Ok(response.Data));
        }
예제 #2
0
        public BaseResponse <IList <FallIncidentEvent> > QueryFallIncidentEvent(BaseRequest <FallIncidentEventFilter> request)
        {
            //var response = base.Query<LTC_FALLINCIDENTEVENT, FallIncidentEvent>(request, (q) =>
            //{
            //    q = q.Where(m => m.FEENO == request.Data.FeeNo);
            //    q = q.OrderBy(m => m.ID);
            //    return q;
            //});
            //return response;

            BaseResponse <IList <FallIncidentEvent> > response = new BaseResponse <IList <FallIncidentEvent> >();
            var q = from n in unitOfWork.GetRepository <LTC_FALLINCIDENTEVENT>().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.SETTLEBY equals e.EMPNO into res2
                    from re2 in res2.DefaultIfEmpty()
                    select new
            {
                FallIncidentEvent = n,
                RecordName        = re.EMPNAME,
                SettleName        = re2.EMPNAME
            };

            q = q.Where(m => m.FallIncidentEvent.FEENO == request.Data.FeeNo);
            q = q.OrderByDescending(m => m.FallIncidentEvent.ID);
            response.RecordsCount = q.Count();
            Action <IList> mapperResponse = (IList list) =>
            {
                response.Data = new List <FallIncidentEvent>();
                foreach (dynamic item in list)
                {
                    FallIncidentEvent newItem = Mapper.DynamicMap <FallIncidentEvent>(item.FallIncidentEvent);
                    newItem.RecordNameBy = item.RecordName;
                    newItem.SettleNameBy = item.SettleName;
                    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 <FallIncidentEvent> SaveFallIncidentEvent(FallIncidentEvent request)
 {
     return(base.Save <LTC_FALLINCIDENTEVENT, FallIncidentEvent>(request, (q) => q.ID == request.ID));
 }