Return Value
A Boolean representing whether the EditOperation succeeded.
// Checks for pending actions in an edit operation before attempting to execute it. await QueuedTask.Run(() => { // Create an edit operation var op = new EditOperation() { Name = "My Edit Operation" }; // Add some actions to the edit operation op.Modify(featureLayer, objectId, geometry); // EditOperation.Modify can unknowingly set an attribute to the already existing value // In this scenario the Modify action will detect that no changes are required and consequently the Execute operation will fail. // To avoid this, we can check if the edit operation is empty before executing it. if (!op.IsEmpty) { // Execute the edit operation var result = op.Execute(); Debug.WriteLine($"Edit operation executed successfully: {result}"); } else { Debug.WriteLine("No actions to execute in the edit operation."); } });
// Creates new features in a feature layer using the specified geometry, attributes, or editing template. await QueuedTask.Run(() => { var createFeatures = new EditOperation() { Name = "Create Features" }; //Create a feature with a polygon var token = createFeatures.Create(featureLayer, polygon); if (createFeatures.IsSucceeded) { // token.ObjectID will be populated with the objectID of the created feature after Execute has been successful } //Do a create features and set attributes var attributes = new Dictionary<string, object> { { "SHAPE", polygon }, { "NAME", "Corner Market" }, { "SIZE", 1200.5 }, { "DESCRIPTION", "Corner Market" } }; createFeatures.Create(featureLayer, attributes); //Create features using the current template //Must be within a MapTool createFeatures.Create(currentTemplate, polygon); //Execute to execute the operation //Must be called within QueuedTask.Run if (!createFeatures.IsEmpty) { //Execute will return true if the operation was successful and false if not. createFeatures.Execute(); //or use async flavor //await createFeatures.ExecuteAsync(); } });
await QueuedTask.Run(() => { // get selected feature into inspector var selectedFeatures = activeMap.GetSelection(); var insp = new Inspector(); insp.Load(selectedFeatures.ToDictionary().Keys.First(), selectedFeatures.ToDictionary().Values.First()); // read a blob field and save to a file var msw = new MemoryStream(); msw = insp["BlobField"] as MemoryStream; using (FileStream file = new(@"d:\temp\blob.jpg", FileMode.Create, FileAccess.Write)) { msw.WriteTo(file); } // read file into memory stream var msr = new MemoryStream(); using (FileStream file = new(@"d:\images\Hydrant.jpg", FileMode.Open, FileAccess.Read)) { file.CopyTo(msr); } //put the memory stream in the blob field and save to feature var op = new EditOperation() { Name = "Blob Inspector" }; insp["Blobfield"] = msr; op.Modify(insp); if (!op.IsEmpty) { var result = op.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not } });
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)