/// <summary> /// Sets the state for the record /// </summary> /// <param name="dynamicEntityObject"></param> /// <param name="service">CrmService</param> /// <param name="status">status code</param> /// <param name="state">Status text</param> public static void SetState(this DynamicEntity dynamicEntityObject, ICrmService service, int status, String state) { try { SetStateDynamicEntityRequest setInactiveRequest = new SetStateDynamicEntityRequest(); Key recordGuid = (Key)dynamicEntityObject[dynamicEntityObject.Name + "id"]; Moniker entityMoniker = new Moniker(dynamicEntityObject.Name, recordGuid.Value); setInactiveRequest.Entity = entityMoniker; setInactiveRequest.Status = status; setInactiveRequest.State = state; SetStateDynamicEntityResponse setInactiveResponse = (SetStateDynamicEntityResponse)service.Execute(setInactiveRequest); } catch (System.Web.Services.Protocols.SoapException) { throw; } }
// /// <summary> /// Make a record inactive /// </summary> /// <param name="dynamicEntityObject">Entity</param> /// <param name="service">CrmService Proxy</param> public static void SetInactive(this DynamicEntity dynamicEntityObject, CrmService crmServiceProxy) { try { SetStateDynamicEntityRequest setInactiveRequest = new SetStateDynamicEntityRequest(); Key recordGuid = (Key)dynamicEntityObject[dynamicEntityObject.Name + "id"]; Moniker entityMoniker = new Moniker(dynamicEntityObject.Name, recordGuid.Value); //HACK: Might not work always since the status are different for quite a few entities setInactiveRequest.Entity = entityMoniker; setInactiveRequest.Status = -1; setInactiveRequest.State = "Inactive"; SetStateDynamicEntityResponse setInactiveResponse = (SetStateDynamicEntityResponse)crmServiceProxy.Execute(setInactiveRequest); } catch (System.Web.Services.Protocols.SoapException) { throw; } }