public IEnumerable <ProjectViewStatusDetail> GetChangedProjectViewStatusDetail(string userId, bool includeFinanceStatus) { var viewStatusQuery = ProjectViewStatuses.Where(q => q.UserId == userId); if (includeFinanceStatus) { viewStatusQuery = viewStatusQuery.Where(q => q.Status > 0 || q.FinanceStatus > 0); } else { viewStatusQuery = viewStatusQuery.Where(q => q.Status > 0); } var query = viewStatusQuery.Join(Projects, vs => vs.ProjectId, p => p.Id, (vs, p) => new ProjectViewStatusDetail { Id = vs.Id, ProjectId = vs.ProjectId, ProjectName = p.Name, ProjectStatus = p.Status, UserId = vs.UserId, Status = vs.Status, FinanceStatus = vs.FinanceStatus, UpdateTime = vs.UpdateTime }).OrderByDescending(q => q.UpdateTime); return(query.ToArray()); }
public IEnumerable <ProjectViewStatus> GetProjectViewStatus(string[] projectIds, string userId) { return(ProjectViewStatuses.Where(q => projectIds.Contains(q.ProjectId) && q.UserId == userId).ToArray()); }