Showing posts with label Dynamic entity. Show all posts
Showing posts with label Dynamic entity. Show all posts

Monday, September 21, 2009

Using SDK to delete entity record via Dynamic entity

This Example help to delete record using SDK function.

DeleteRequest request = new DeleteRequest();
TargetDeleteDynamic target = new TargetDeleteDynamic();
target.EntityName = entityTypeName;
target.EntityId = instanceID;
request.Target = target;
pservice.Execute(request);

Enjoy,
Rami Heleg

Monday, September 14, 2009

Example function to Set State for Dynamic entity

You can use Set State function for each entity for instance:
SetBusinessSystemUserRequest
SetAccountUserRequest
SetContactUserRequest and more.
Better is to create general function and use dynamic request
Example:
SetStateDynamicEntityRequest request = new SetStateDynamicEntityRequest();
request.Entity = new Moniker();
request.Entity.Name = entityTypeName;
request.Entity.Id = new Guid ( guid);
request.State = relevantStateCodeForSpecificEntity;
request.Status = relevantStatusForSpecificEntity;
service.Execute(request);

Enjoy,
Rami Heleg

Thursday, September 10, 2009

Set Value to Dynamic entity

Microsoft.Crm.Sdk.DynamicEntity entity

//Set value to CrmNumber
Microsoft.Crm.Sdk.CrmNumber number = new Microsoft.Crm.Sdk.CrmNumber();
number.Value = ToInt(propertyValue);
entity.Properties[propertyName] = number;

//Set Value to String
entity.Properties[propertyName] = propertyValue.ToString();


Enjoy,
Rami Heleg

Friday, August 7, 2009

Function to get value from dyanamic entity field

public static Guid GetKeyValue(Microsoft.Crm.Sdk.DynamicEntity de, string val)
{
foreach (KeyProperty ent in de.Properties)
{
if (ent.Name == val)
return ent.Value.Value;
}
return Guid.Empty;

}

Enjoy,
Rami Heleg

Function to get value from dyanmic entity

public static string GetValueFromProperty(object property)
{
switch (property.GetType().Name)
{
case "String":
return ((String)property);
case "Lookup":
return ((Microsoft.Crm.Sdk.Lookup)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.Lookup)property).Value.ToString();
case "Picklist":
return ((Microsoft.Crm.Sdk.Picklist)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.Picklist)property).name.ToString();
case "Customer":
return ((Microsoft.Crm.Sdk.Customer)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.Customer)property).name.ToString();
case "CrmNumber":
return ((Microsoft.Crm.Sdk.CrmNumber)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.CrmNumber)property).Value.ToString();
case "CrmFloat":
return ((Microsoft.Crm.Sdk.CrmFloat)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.CrmFloat)property).Value.ToString();
case "CrmMoney":
return ((Microsoft.Crm.Sdk.CrmMoney)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.CrmMoney)property).Value.ToString();
case "CrmBoolean":
return ((Microsoft.Crm.Sdk.CrmBoolean)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.CrmBoolean)property).Value ? "1" : "0";
case "CrmDateTime":
return ((Microsoft.Crm.Sdk.CrmDateTime)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.CrmDateTime)property).Value;
case "Status":
return ((Microsoft.Crm.Sdk.Status)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.Status)property).Value.ToString();
case "State":
return "0";
case "Key":
return ((Microsoft.Crm.Sdk.Key)property).Value.ToString();
case "Owner":
return ((Microsoft.Crm.Sdk.Owner)property).IsNull == true ? "" : ((Microsoft.Crm.Sdk.Owner)property).name.ToString();
}
return "";
}

Enjoy,
Rami Heleg