Prior to CRM 2015 Update 1, if we had to change the owner or set the state of the record we had to use Assign and SetState Request.
Now we can use our Update request for the same.
For e.g. we have below Active record owned by user named Nishant Rana.
Using below Update Request we can change the owner as well as set the record as inactive in a single request.
</p> <p>Entity demoEntity = new Entity("new_demoentity");</p> <p>// here we are using alternate key to update the record instead of Guid<br /> demoEntity.KeyAttributes.Add("new_alternatekeyfield", "My Alternate Key 2");</p> <p>demoEntity.Attributes["new_name"] = "Updated record at " + DateTime.Now.ToShortTimeString();</p> <p>// update owner id<br /> demoEntity.Attributes["ownerid"] = new EntityReference("systemuser", new Guid("16406B31-5E97-E611-80E3-FC15B42877A8"));</p> <p>// set record as inactive<br /> demoEntity.Attributes["statecode"] = new OptionSetValue(1);</p> <p>organizationProxy.Update(demoEntity);</p> <p>
Point to remember is that if we have plugin registered either PRE or POST on Update and Assign both will be triggered.
Hope it helps..