public void UpdateEntityState(IEnumerable <EditableGridModel> records) { ExecuteMultipleRequest requestWithoutResults = XrmMultipleRequestHelper.CreateRequest(); foreach (EditableGridModel item in records) { SetStateRequest request = new SetStateRequest { EntityMoniker = new EntityReference(item.Entity, item.Id), // Sets the record to disabled. State = new OptionSetValue(0), // Required by request but always valued at -1 in this context. Status = new OptionSetValue(-1) }; if (item.Records.FirstOrDefault().Value == "disable") { request.State = new OptionSetValue(1); } request.Status = new OptionSetValue(-1); _service.ServiceContext.Execute(request); } }
public void DeleteRecords(IEnumerable <EditableGridModel> records) { //foreach (var item in records) //{ // _service.ServiceContext.Delete(item.Entity, item.Id); //} ExecuteMultipleRequest requestWithoutResults = XrmMultipleRequestHelper.CreateRequest(false, true); foreach (var item in records) { DeleteRequest deleteRequest = new DeleteRequest(); deleteRequest.Target = new EntityReference(item.Entity, item.Id); requestWithoutResults.Requests.Add(deleteRequest); } try { ExecuteMultipleResponse responseWithResults = (ExecuteMultipleResponse)_service.ServiceContext.Execute(requestWithoutResults); foreach (var responseItem in responseWithResults.Responses) { // A valid response. //if (responseItem.Response != null) // throw new Exception(responseItem.Response.ToString()); // An error has occurred. if (responseItem.Fault != null) { throw new Exception(responseItem.Fault.Message); } } } catch (Exception ex) { throw new Exception(ex.Message); } }