// Get all the active records for a custom entity and deacitvate it
// In this case Custom Entity name is new_customentity and it has many to one relationship with contact record
// So we are finding all the active custom entity records for a particular contact
private
void DeActivateCustomRecords(string contactID, IOrganizationService _service){
// setting contact id
condition1.AttributeName=“new_contactid”;
condition1.Operator =ConditionOperator.Equal;
condition1.Values.Add(contactID);
// and state code =0 -> active record
ConditionExpression condition2 = new ConditionExpression();
condition2.AttributeName =“statecode”;
condition2.Operator =ConditionOperator.Equal;
condition2.Values.Add(0);
// And the condition
FilterExpression filterExpression = new FilterExpression();
filterExpression.AddCondition(condition1);
filterExpression.AddCondition(condition2);
filterExpression.FilterOperator =LogicalOperator.And;
//Create a column set to get the custom entity records id
//we need them to disable the records
ColumnSet columns = new ColumnSet(“new_customentityid”);
// Create query expression.
QueryExpression query1 = new QueryExpression();
query1.ColumnSet = columns;
query1.EntityName =“new_customentity”;
query1.Criteria = filterExpression;
try{
EntityCollection result= _service.RetrieveMultiple(query1);
foreach (Entity customEntityResult in result.Entities){
SetStateRequest setState = new SetStateRequest();
setState.EntityMoniker = new EntityReference();
setState.EntityMoniker.Id = customEntityResult.Id;
setState.EntityMoniker.Name = “new_customentity”;
setState.EntityMoniker.LogicalName = entityElgResult.LogicalName;
setState.State =new OptionSetValue();
setState.State.Value = 1;
setState.Status = new OptionSetValue();
setState.Status.Value = -1;
SetStateResponse setStateResponse = (SetStateResponse)_service.Execute(setState);
}
}
catch (Exception ex){
throw ex;
}
Hope it is useful !
Discover more from Nishant Rana's Weblog
Subscribe to get the latest posts sent to your email.

Good Post Sir 🙂
LikeLike
Thank you Arvind. Do plan to come to hyderabad once you are back in Pune !
LikeLike
hello nishant…..
ur blog’s are very useful….
LikeLike
If I want to use this in silverlight. How can I do this. Its unavailable to my in silverlight.
LikeLike
I have done this using this: Is this correct.
OrganizationRequest request = new OrganizationRequest() { RequestName = “SetState” };
request[“EntityMoniker”] = new EntityReference() { Id = ActivityGuid, LogicalName = “activityLogicalName”, Name = “activityName” };
request[“State”] = new OptionSetValue() { Value = 1 }; //State Code
request[“Status”] = new OptionSetValue() { Value = 2 }; //Status reason
if (IOrgService == null)
IOrgService = SilverlightUtility.GetSoapService();
// Start the Async Call
IOrgService.BeginExecute(request, new AsyncCallback(EndChangeState), IOrgService);
LikeLike
Nishant – Your Blog has nice examples. I am new to crm and working on a small project. Currently I am using Xrm and Dynamic Entities in my projecect. I want to DeActivate a Record in 4.0 using Xrm Dynamic Entities.
Any help on this will be greately Appreciated. Even I am from Hyderabad.
Thank you,
Shankar
LikeLike
So how do you Activate a record?
Thanks
LikeLike
Currently it seems like Drupal is the preferred blogging platform available right now.
(from what I’ve read) Is that what you’re using on your blog?
LikeLike