Example #1
0
        public IEnumerable <FormInfo> GetList(FormInfoParameter parameter)
        {
            var query = DB.FormInfos.Where(e => !e.Deleted);

            if (parameter.CategoryId > 0)
            {
                query = query.Where(e => e.CategoryId == parameter.CategoryId);
            }
            if (parameter.BeginTime.HasValue)
            {
                query = query.Where(e => e.CreateTime > parameter.BeginTime.Value);
            }
            if (parameter.Completed.HasValue)
            {
                query = query.Where(e => e.FlowData.Completed == parameter.Completed);
            }
            if (parameter.EndTime.HasValue)
            {
                query = query.Where(e => e.CreateTime < parameter.EndTime.Value);
            }
            if (parameter.FormId > 0)
            {
                query = query.Where(e => e.FormId == parameter.FormId);
            }
            if (parameter.InfoIds != null && parameter.InfoIds.Length > 0)
            {
                query = query.Where(e => parameter.InfoIds.Contains(e.ID));
            }
            if (parameter.PostUserId > 0)
            {
                query = query.Where(e => e.PostUserId == parameter.PostUserId);
            }
            return(query.OrderByDescending(e => e.ID).SetPage(parameter.Page));
        }
Example #2
0
        public IEnumerable <UserMail> GetUserMails(FormInfoParameter parameter)
        {
            var query = Core.UserFormInfoManager.GetUserInfoList <UserMail>(parameter);

            query = query.Where(e => e.IsDraft == false);
            return(query.OrderByDescending(e => e.ID).SetPage(parameter.Page));
        }
Example #3
0
        public object List(string searchKey = null, FlowStatus?status = null, int page = 1, int rows = 20)
        {
            var form      = Core.FormManager.GetModel(FormType.Task);
            var parameter = new FormInfoParameter
            {
                FormId     = form.ID,
                FlowStatus = status.HasValue ? new[] { status.Value } : null,
                UserId     = status == null && CurrentUser.HasRight(FormType.Task, UserRightType.View) ? 0 : Identity.ID,
                SearchKey  = searchKey,
                Page       = new PageParameter(page, rows)
            };

            if (parameter.UserId == 0)
            {
                var datas = Core.TaskManager.GetTasks(parameter);
                return(new PagingResult
                {
                    List = datas.Select(e => new TaskViewModel(e)),
                    Page = parameter.Page,
                });
            }
            else
            {
                var datas = Core.TaskManager.GetUserTasks(parameter);
                return(new PagingResult
                {
                    List = datas.Select(e => new TaskViewModel(e)),
                    Page = parameter.Page
                });
            }
        }
Example #4
0
        public object List(int formId, int userId = 0, string searchKey = null, bool?completed = null, FlowStatus?status = null, int page = 1, int rows = 20)
        {
            var parameter = new FormInfoParameter
            {
                FormId     = formId,
                Page       = new PageParameter(page, rows),
                UserId     = Identity.ID,
                PostUserId = userId,
                Completed  = completed
            };

            var form = Core.FormManager.GetModel(formId);
            var flow = Core.FlowManager.Get(form.FLowId);

            var list = Core.FormInfoManager.GetList(parameter).Select(e => new FormInfoViewModel
            {
                ID         = e.ID,
                CategoryId = e.CategoryId,
                CreateTime = e.CreateTime,
                FlowDataId = e.FlowDataId,
                InfoId     = e.ID,
                PostUserId = e.PostUserId,
                UpdateTime = e.UpdateTime,
                UserId     = e.PostUserId,
                FlowStep   = e.FlowStep,
                Title      = e.Title,
                FormId     = e.FormId,
            });

            return(new PagingResult
            {
                List = list,
                Page = parameter.Page
            });
        }
Example #5
0
        public IEnumerable <Task> GetTasks(FormInfoParameter parameter)
        {
            var query = DB.Tasks.Where(e => !e.Info.Deleted);

            if (!string.IsNullOrEmpty(parameter.SearchKey))
            {
                query = query.Where(e => e.Name.Contains(parameter.SearchKey));
            }

            return(query.OrderByDescending(e => e.ID).SetPage(parameter.Page));
        }
Example #6
0
        public object TasksForLED()
        {
            var form      = Core.FormManager.GetModel(FormType.Task);
            var parameter = new FormInfoParameter
            {
                FormId     = form.ID,
                FlowStatus = new[] { FlowStatus.Doing, FlowStatus.Back, FlowStatus.Done },
            };

            var datas = Core.TaskManager.GetUserTasks(parameter).GroupBy(e => e.InfoId).Select(g => g.FirstOrDefault());

            return(datas.Select(e => new TaskViewModel(e)));
        }
Example #7
0
        public IQueryable <T> GetUserInfoList <T>(FormInfoParameter parameter) where T : UserInfo
        {
            var query = DB.Set <T>().AsQueryable();

            if (parameter.PostUserId > 0)
            {
                query = query.Where(e => e.PostUserId == parameter.PostUserId);
            }
            if (parameter.FormId > 0)
            {
                query = query.Where(e => e.FormId == parameter.FormId);
            }
            if (!string.IsNullOrWhiteSpace(parameter.SearchKey))
            {
                query = query.Where(e => e.Title.Contains(parameter.SearchKey));
            }
            if (parameter.FlowStatus != null && parameter.FlowStatus.Length > 0)
            {
                query = query.Where(e => parameter.FlowStatus.Contains(e.FlowStatus));
            }
            if (parameter.BeginTime.HasValue)
            {
                query = query.Where(e => e.CreateTime >= parameter.BeginTime.Value);
            }
            if (parameter.EndTime.HasValue)
            {
                query = query.Where(e => e.CreateTime <= parameter.EndTime.Value);
            }
            if (parameter.Starred.HasValue)
            {
                query = query.Where(e => e.Starred == parameter.Starred.Value);
            }
            if (parameter.Trash.HasValue)
            {
                query = query.Where(e => e.Trash == parameter.Trash.Value);
            }
            if (parameter.Read.HasValue)
            {
                query = query.Where(e => e.Read == parameter.Read.Value);
            }
            if (parameter.Completed.HasValue)
            {
                query = query.Where(e => e.FlowData != null && e.FlowData.Completed == parameter.Completed.Value);
            }
            if (parameter.UserId > 0)
            {
                return(query.Where(e => e.UserId == parameter.UserId));
            }
            return(query);
        }
Example #8
0
        public object List(int formId, int postUserId = 0, string searchKey = null, bool?completed = null, FlowStatus?status = null, int page = 1, int rows = 10)
        {
            var parameter = new FormInfoParameter
            {
                FormId     = formId,
                FlowStatus = status.HasValue ? new[] { status.Value } : null,
                Page       = new PageParameter(page, rows),
                UserId     = Identity.ID,
                PostUserId = postUserId,
                Completed  = completed,
                SearchKey  = searchKey,
            };

            var list = Core.MissiveManager.GetList(parameter);

            return(new PagingResult
            {
                List = list.Select(e => new
                {
                    e.ID,
                    e.InfoId,
                    e.WJ_ZH,
                    e.Title,
                    e.QX_RQ,
                    e.WJ_MJ,
                    e.WJ_LY,
                    e.Reminded,
                    e.Starred,
                    MJ = e.WJ_MJ.GetDescription(),
                    e.FormId,
                    e.CreateTime,
                    e.UpdateTime,
                    e.FlowStep,
                    e.FlowDataId,
                    e.PostUserId,
                    e.Important,
                    Completed = e.FlowData == null ? false : e.FlowData.Completed,
                    e.Uid,
                }),
                Page = parameter.Page
            });
        }
Example #9
0
 public IQueryable <UserInfo> GetUserInfoList(FormInfoParameter parameter)
 {
     return(GetUserInfoList <UserInfo>(parameter).OrderByDescending(e => e.ID).SetPage(parameter.Page));
 }
Example #10
0
 public IEnumerable <UserMissive> GetList(FormInfoParameter parameter)
 {
     return(Core.UserFormInfoManager.GetUserInfoList <UserMissive>(parameter)
            .OrderByDescending(e => e.ID)
            .SetPage(parameter.Page));;
 }