Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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());
        }