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