Saturday, July 27, 2013

Build CAML Query Dynamically based on Passing Parameters to the Query in SharePoint.

string camlQuery = CreateCAMLQuery(parameters); 
private static string CreateCAMLQuery(string[] parameters)
        {
            StringBuilder sb = new StringBuilder(); 
            if (parameters.Length == 0)
            {
                AppendEQ(sb, "all", "all");
            }
            for (int i = 0; i < parameters.Length; i += 2)
            {
                AppendEQ(sb, parameters[i], parameters[i + 1]);
                if (i > 0)
                {
                    sb.Insert(0, "<And>");
                    sb.Append("</And>");
                }
            }
            sb.Insert(0, "<Where>");
            sb.Append("</Where>"); 
            return sb.ToString();
        }

        private static void AppendEQ(StringBuilder sb, string column, string value)
        {
            sb.Append("<Eq>");
            if (column == "state")
            {
                sb.Append("<FieldRef Name='state'/>");
                sb.AppendFormat("<Value Type='Lookup'>{0}</Value>", value);
            }
            if (column == "City")
            {
                sb.Append("<FieldRef Name='City'/>");
                sb.AppendFormat("<Value Type='Lookup'>{0}</Value>", value);
            }
            if (column == "VehicleMake")
            {
                sb.Append("<FieldRef Name='VehicleMake'/>");
                sb.AppendFormat("<Value Type='Choice'>{0}</Value>", value);
            }
            if (column == "GarageType")
            {
                sb.Append("<FieldRef Name='GarageType'/>");
                sb.AppendFormat("<Value Type='Choice'>{0}</Value>", value);
            }
            sb.Append("</Eq>");
        }

3 comments:


  1. İnternette en sevdiğiniz oyunları ücretsiz olarak bulmak artık çok daha kolay. Oyun indirirken güvenli ve hızlı bir site tercih etmek önemlidir. Bu nedenle, bedava oyun indir seçeneği sunan platformları değerlendirebilirsiniz. Böylece hem zaman kazanır hem de kaliteli oyunlara ulaşabilirsiniz. Her zaman güvenli kaynaklardan indirmenizi öneriyorum.

    ReplyDelete

Featured Post

Automate SharePoint List CRUD Operations Using PowerShell, Microsoft Graph API & GitHub Actions

Automate SharePoint List CRUD Operations Using PowerShell, Microsoft Graph API & GitHub Actions App-only Auth with Certificate   |  ...

Popular posts