23 Ekim 2012 Salı

Crm de Guid Bir Değere Göre Entity nin Bulunması


Aşagıdaki metoda veriyi çekeceğimiz entity nın adını,hangi field a göre sorgunun cekilecegi ve neye göre çekilecegi degerleriyle birlikte IOrganization nesnesini göndererek verimizi cekebiliriz.

public class Metotlar{
   public static Entity GetLookUp(string entityname, Guid id, string conditionField, IOrganizationService service)
        {
            try
            {
                QueryExpression sorgu = new QueryExpression()
                {
                    EntityName = entityname,
                    ColumnSet = new ColumnSet() { AllColumns = true },/*Tum kolonlar cekilir.*/
                };

                FilterExpression anaFilter = new FilterExpression(LogicalOperator.And);

                ConditionExpression sart1 = new ConditionExpression(conditionField, ConditionOperator.Equal, id);
                anaFilter.AddCondition(sart1);

                sorgu.Criteria.AddFilter(anaFilter);

                EntityCollection ec = null;

                ec = service.RetrieveMultiple(sorgu);

                if (ec != null)
                {
                    if (ec.Entities.Count > 0)
                    {
                        return ec.Entities[0];
                    }
                    else
                    {
                        return new Entity();
                    }
                }
                else
                {
                    return new Entity();
                }
            }

            catch (Exception)
            {
                return new Entity();
            }
        }
}
Örnek:
IOrganizationService crmService=DynamicCrmBaglanma.GetCrmService();
/*Crm e baglanılır.DynamicCrmBaglanma classı blog da bulunmaktadır.*/
if(crmService !=null){
Guid _productId=guid.NewGuid();
/*Ben yeni bir guid deger olusturarak parametre olarak gönderdim.*/
Entity product=Metotlar.GetLookUp(Product.EntityLogicalName,_productId,"productid",crmService);
if(product !=null && product.Id !=Guid.Empty){
Product urun=(Product)product;/*Entity Product a cast edildi.*/
}
}

Hiç yorum yok:

Yorum Gönder