How to combine the multiple part linq into one query?

Posted by user2943399 on Stack Overflow See other posts from Stack Overflow or by user2943399
Published on 2013-11-02T09:25:07Z Indexed on 2013/11/02 9:54 UTC
Read the original article Hit count: 180

Filed under:
|

Operator should be ‘AND’ and not a ‘OR’.

I am trying to refactor the following code and i understood the following way of writing linq query may not be the correct way. Can somone advice me how to combine the following into one query.

        AllCompany.Where(itm => itm != null).Distinct().ToList();

        if (AllCompany.Count > 0)
        {
            //COMPANY NAME
            if (isfldCompanyName)
            {
                AllCompany = AllCompany.Where(company => company["Company Name"].StartsWith(fldCompanyName)).ToList();
            }
            //SECTOR
            if (isfldSector)
            {
                AllCompany = AllCompany.Where(company => fldSector.Intersect(company["Sectors"].Split('|')).Any()).ToList();
            }
            //LOCATION
            if (isfldLocation)
            {
                AllCompany = AllCompany.Where(company => fldLocation.Intersect(company["Location"].Split('|')).Any()).ToList();

            }
            //CREATED DATE
            if (isfldcreatedDate)
            {
                AllCompany = AllCompany.Where(company => company.Statistics.Created >= createdDate).ToList();
            }
            //LAST UPDATED DATE
            if (isfldUpdatedDate)
            {
                AllCompany = AllCompany.Where(company => company.Statistics.Updated >= updatedDate).ToList();
            }

            //Allow Placements
            if (isfldEmployerLevel)
            {
                fldEmployerLevel = (fldEmployerLevel == "Yes") ? "1" : "";

                AllCompany = AllCompany.Where(company => company["Allow Placements"].ToString() == fldEmployerLevel).ToList();
            }

© Stack Overflow or respective owner

Related posts about c#

Related posts about LINQ