public PagedListModel <GroupLineItem> QueryGroupLines(GL_LineModelSearch searchModel, Page page) { var totalCount = 0; var groupLines = lineGroupRepository.QueryGroupLines(searchModel, page, out totalCount).AsEnumerable(); return(new PagedListModel <GroupLineItem>(totalCount, groupLines)); }
public IQueryable <GroupLineItem> QueryGroupLines(GL_LineModelSearch search, Page page, out int count) { var query = from c in DataContext.GL_LineGroup join s1 in DataContext.System_Organization on c.Plant_Organization_UID equals s1.Organization_UID join s2 in DataContext.System_Organization on c.BG_Organization_UID equals s2.Organization_UID join s3 in DataContext.System_Organization on c.FunPlant_Organization_UID equals s3.Organization_UID into t3 from s3 in t3.DefaultIfEmpty() join s4 in DataContext.GL_LineGroup on c.LineParent_ID equals s4.LineGroup_UID into t4 from s4 in t4.DefaultIfEmpty() join u in DataContext.System_Users on c.Modified_UID equals u.Account_UID join s5 in DataContext.System_Project on c.CustomerID equals s5.Project_UID into t5 from s5 in t5.DefaultIfEmpty() select new GroupLineItem { LineGroup_UID = c.LineGroup_UID, Plant_Organization_UID = c.Plant_Organization_UID, BG_Organization_UID = c.BG_Organization_UID, FunPlant_Organization_UID = c.FunPlant_Organization_UID, LineID = c.LineID, LineParent_ID = c.LineParent_ID, LineParent_Name = s4.LineName, LineName = c.LineName, factory = s1.Organization_Name, op_Type = s2.Organization_Name, funPlant = s3.Organization_Name, Modified_UserName = u.User_Name, Modified_Date = c.Modified_Date, CustomerID = c.CustomerID, Project_Name = s5.Project_Name, MESProject_Name = s5.MESProject_Name }; if (search.Plant_Organization_UID != 0 && search.Plant_Organization_UID != null) { query = query.Where(p => p.Plant_Organization_UID == search.Plant_Organization_UID); } if (search.BG_Organization_UID != 0 && search.BG_Organization_UID != null) { query = query.Where(p => p.BG_Organization_UID == search.BG_Organization_UID); } if (search.FunPlant_Organization_UID != 0 && search.FunPlant_Organization_UID != null) { query = query.Where(p => p.FunPlant_Organization_UID == search.FunPlant_Organization_UID); } if (search.LineID != 0 && search.LineID != null) { query = query.Where(p => p.LineGroup_UID == search.LineID || p.LineParent_ID == search.LineID); } if (search.CustomerID != 0 && search.CustomerID != null) { query = query.Where(p => p.CustomerID == search.CustomerID); } query = query.Where(o => o.MESProject_Name != "" && o.MESProject_Name != null); count = query.Count(); return(query .OrderBy(o => o.Plant_Organization_UID) .ThenBy(o => o.BG_Organization_UID) .ThenBy(o => o.FunPlant_Organization_UID) .ThenBy(o => o.LineGroup_UID) .GetPage(page)); }