예제 #1
0
        public BaseResponse SaveAllocateTask(long ID, IList <DC_TaskEmpModel> empList)
        {
            BaseResponse response = new BaseResponse();

            DC_TASKREMIND        tr          = unitOfWork.GetRepository <DC_TASKREMIND>().dbSet.Where(x => x.ID == ID && x.ORGID == SecurityHelper.CurrentPrincipal.OrgId).FirstOrDefault();
            List <DC_TASKREMIND> newTaskList = new List <DC_TASKREMIND>();

            foreach (DC_TaskEmpModel t in empList)
            {
                Mapper.CreateMap <DC_TASKREMIND, DC_TaskRemind>();
                DC_TASKREMIND task    = new DC_TASKREMIND();
                DC_TaskRemind taskMap = Mapper.Map <DC_TaskRemind>(tr);
                taskMap.ID           = 0;
                taskMap.AssignedBy   = SecurityHelper.CurrentPrincipal.EmpNo;
                taskMap.AssignedName = SecurityHelper.CurrentPrincipal.EmpName;
                taskMap.Assignee     = t.EmpNo;
                taskMap.AssignName   = t.EmpName;
                taskMap.NewRecFlag   = true;
                Mapper.CreateMap <DC_TaskRemind, DC_TASKREMIND>();
                task = Mapper.Map <DC_TASKREMIND>(taskMap);

                newTaskList.Add(task);
            }
            unitOfWork.GetRepository <DC_TASKREMIND>().InsertRange(newTaskList);
            unitOfWork.GetRepository <DC_TASKREMIND>().Delete(tr);
            unitOfWork.Commit();
            return(response);
        }
예제 #2
0
        public BaseResponse <IList <DC_TaskRemind> > QueryTaskList(BaseRequest <DC_AssignJobsFilter> request)
        {
            BaseResponse <IList <DC_TaskRemind> > response = new BaseResponse <IList <DC_TaskRemind> >();
            var q = from n in unitOfWork.GetRepository <DC_TASKREMIND>().dbSet
                    join i in unitOfWork.GetRepository <DC_IPDREG>().dbSet on n.FEENO equals i.FEENO into ip
                    from ipg in ip.DefaultIfEmpty()
                    join r in unitOfWork.GetRepository <DC_REGFILE>().dbSet on ipg.REGNO equals r.REGNO into re
                    from reg in re.DefaultIfEmpty()
                    select new
            {
                TaskModel = n,
                Name      = reg.REGNAME
            };

            q = q.Where(m => m.TaskModel.ASSIGNEE == request.Data.Assignee);
            if (request.Data.RecStatus.HasValue)
            {
                q = q.Where(m => m.TaskModel.RECSTATUS == request.Data.RecStatus.Value);
            }
            if (request.Data.NewRecFlag.HasValue)
            {
                q = q.Where(m => m.TaskModel.NEWRECFLAG == request.Data.NewRecFlag.Value);
            }
            if (request.Data.AssignStartDate.HasValue)
            {
                q = q.Where(m => m.TaskModel.ASSIGNDATE >= request.Data.AssignStartDate.Value);
            }
            if (request.Data.AssignEndDate.HasValue)
            {
                request.Data.AssignEndDate = request.Data.AssignEndDate.Value.AddDays(1);
                q = q.Where(m => m.TaskModel.ASSIGNDATE <= request.Data.AssignEndDate);
            }
            q = q.OrderByDescending(m => m.TaskModel.ASSIGNDATE).OrderBy(m => m.TaskModel.RECSTATUS);
            Action <IList> mapperResponse = (IList list) =>
            {
                response.Data = new List <DC_TaskRemind>();
                foreach (dynamic item in list)
                {
                    DC_TaskRemind newItem = Mapper.DynamicMap <DC_TaskRemind>(item.TaskModel);
                    newItem.ResidentName = item.Name;
                    response.Data.Add(newItem);
                }
            };

            response.RecordsCount = q.Count();
            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 IHttpActionResult Post(DC_TaskRemind baseRequest)
        {
            var response = service.SaveTaskRemind(baseRequest);

            return(Ok(response));
        }
예제 #4
0
 public BaseResponse <DC_TaskRemind> SaveTaskRemind(DC_TaskRemind request)
 {
     return(base.Save <DC_TASKREMIND, DC_TaskRemind>(request, (q) => q.ID == request.ID));
 }