private void BtnRemove_Click(object sender, EventArgs e) { if (grdSet.SelectedRows.Count >= 1) { foreach (DataGridViewRow row in grdSet.SelectedRows) { SetItem removeItem = row.DataBoundItem as SetItem; listMaps.Items.Add(removeItem.MapName); SetItems.Remove(removeItem); } } }
private string CreateData(EntityCollection entityCollection, BackgroundWorker worker, SetItem setItem, string entityName) { var requestWithResults = new ExecuteMultipleRequest { Settings = new ExecuteMultipleSettings { ContinueOnError = false, ReturnResponses = true }, Requests = new OrganizationRequestCollection() }; foreach (var entity in entityCollection.Entities) { if (entity.Attributes.Contains("statecode") && ((OptionSetValue)entity["statecode"]).Value >= 1) // inactive { CreateInactiveRequest(entity); } else { requestWithResults.Requests.Add(new CreateRequest { Target = entity }); } } string errors = string.Empty; if (requestWithResults.Requests.Count > 0) { var responseWithResults = (ExecuteMultipleResponse)Service.Execute(requestWithResults); ai.WriteEvent("Data Mocked Count", requestWithResults.Requests.Count); errors = responseWithResults.Responses.Where(responseItem => responseItem.Fault != null) .Aggregate(errors, (accumulator, responseItem) => accumulator += "\r\n" + responseItem.RequestIndex + " | " + responseItem.Fault); if (setItem != null) { setItem.AddedValues .AddRange( from item in responseWithResults.Responses .Where(ri => ri.Fault == null) .Select(cr => ((CreateResponse)cr.Response)) select new Lookup { guid = item.id, Name = item.id.ToString() }); setItem.entityName = entityName; } //setItem.AddedValues.AddRange(responseWithResults.Responses.Select(ri => new Lookup(){guid = ((CreateResponse) ri.Response).) // else collection.Entities[responseItem.RequestIndex].Id = ((CreateResponse) responseItem.Response).id; //DisplayFault(requestWithResults.Requests[responseItem.RequestIndex], // responseItem.RequestIndex, responseItem.Fault); } foreach (var updateEntity in updateEntities) { errors += SendInactiveRequest(updateEntity, worker, setItem, entityName); } return(errors); // e.Result = errors; }
public string CreateAllData(int totalRecordCount, List <SimpleRow> maps, string entityName, BackgroundWorker wrker, SetItem setItem) { int initialCount = totalRecordCount; int recordCount = totalRecordCount > 500 ? 500 : totalRecordCount; int noRuns = (int)Math.Ceiling((double)totalRecordCount / (double)recordCount); int percDone = 0; var entityCollection = new EntityCollection { EntityName = entityName }; var mockClass = new ExpandoObject(); foreach (var map in maps) { ((IDictionary <string, object>)mockClass)[map.LogicalName] = map.SelectedMock; } wrker.ReportProgress(0, "Getting Mockaroo Data for " + entityName); var client = new MockClient(txtMockKey.Text); string errors = string.Empty; if (collection != null && collection.Entities.Count > 0) { recordCount = collection.Entities.Count; wrker.ReportProgress(percDone, "Creating Sample Data"); errors += CreateData(collection, wrker, setItem, entityName); totalRecordCount -= recordCount; SendMessageToStatusBar?.Invoke(this, new StatusBarMessageEventArgs( (int)Math.Round((double)(initialCount - totalRecordCount) * 100 / initialCount), $"{totalRecordCount} {entityName} Records remaining")); } while (totalRecordCount > 0) { recordCount = totalRecordCount > 1000 ? 1000 : totalRecordCount; List <ExpandoObject> returnData = client.GetData(mockClass, recordCount); wrker.ReportProgress(percDone, "Got Data, Generating Entity Collection"); foreach (List <ExpandoObject> subList in SplitList(returnData)) { entityCollection = CreateEntityCollection(subList, entityName, maps); wrker.ReportProgress(percDone, "Retrieved Mockaroo Data, Creating in Dataverse"); percDone += 100 / noRuns; errors += CreateData(entityCollection, wrker, setItem, entityName); totalRecordCount -= subList.Count(); SendMessageToStatusBar?.Invoke(this, new StatusBarMessageEventArgs( (int)Math.Round((double)(initialCount - totalRecordCount) * 100 / initialCount), $"{totalRecordCount} {entityName} Records remaining")); wrker.ReportProgress(percDone, "Created Data"); } } return(errors); }