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

Microsoft Copilot Studio: The Complete Beginner to Advanced Guide

Microsoft Copilot Studio: The Complete Beginner to Advanced Guide Version: July 2026 | Audience: Beginners, Citizen Developers, Busine...

Popular posts