public IQueryable <DefectCode_RepairSolution> QueryDefectRepairs(DefectRepairSearch search, Page page, out int count) { var query = from w in DataContext.DefectCode_RepairSolution select w; if (string.IsNullOrWhiteSpace(search.ExportUIds)) { if (search != null) { if (search.Plant_Organization_UID > 0) { query = query.Where(w => w.Plant_Organization_UID == search.Plant_Organization_UID); } if (search.BG_Organization_UID > 0) { query = query.Where(w => w.BG_Organization_UID == search.BG_Organization_UID); } if (search.FunPlant_Organization_UID > 0) { query = query.Where(w => w.FunPlant_Organization_UID == search.FunPlant_Organization_UID); } if (search.Fixtrue_Defect_UID != null && search.Fixtrue_Defect_UID != 0) { query = query.Where(w => w.Fixtrue_Defect_UID == search.Fixtrue_Defect_UID); } if (!string.IsNullOrWhiteSpace(search.Fixture_DefectName)) { //获取Fixture_DefectName对应的UID int Fixture_Defect_UID = getFixture_DefectUID(search.Fixture_DefectName); query = query.Where(w => w.Fixtrue_Defect_UID == Fixture_Defect_UID); } if (search.Repair_Solution_UID != null && search.Repair_Solution_UID != 0) { query = query.Where(w => w.Repair_Solution_UID == search.Repair_Solution_UID); } if (!string.IsNullOrWhiteSpace(search.Repair_SoulutionName)) { int Fixture_RepairSolution_UID = getFixture_RepairSolution_UID(search.Repair_SoulutionName); query = query.Where(w => w.Repair_Solution_UID == Fixture_RepairSolution_UID); } if (search.Is_Enable.HasValue) { query = query.Where(w => w.Is_Enable == search.Is_Enable); } } count = query.Count(); return(query.OrderBy(w => w.Plant_Organization_UID).ThenBy(w => w.BG_Organization_UID).ThenBy(w => w.Defect_RepairSolution_UID).GetPage(page)); } else { var array = Array.ConvertAll(search.ExportUIds.Split(','), s => int.Parse(s)); query = query.Where(p => array.Contains(p.Defect_RepairSolution_UID)).OrderBy(w => w.Plant_Organization_UID).ThenBy(w => w.BG_Organization_UID).ThenBy(w => w.Defect_RepairSolution_UID); count = 0; return(query); } }
public List <Fixture_RepairSolution> GetRepairSoulutions(DefectRepairSearch search) { var query = from FD in DataContext.Fixture_RepairSolution select FD; if (search.Plant_Organization_UID > 0) { query = query.Where(w => w.Plant_Organization_UID == search.Plant_Organization_UID); } if (search.BG_Organization_UID > 0) { query = query.Where(w => w.BG_Organization_UID == search.BG_Organization_UID); } if (search.FunPlant_Organization_UID > 0) { query = query.Where(w => w.FunPlant_Organization_UID == search.FunPlant_Organization_UID); } return(query.ToList()); }