Return Value
A Boolean representing whether the EditOperation succeeded.
// Some times when using EditOperation.Modify you can unknowingly be attempting to set // an attribute to value // setting // In this scenario the Modify action will detect that nothing is required // and do nothing. Because no actions have occurred, the // Consequently the Execute operation will fail. if (!opEdit.IsEmpty) opEdit.Execute();
var createFeatures = new EditOperation(); createFeatures.Name = "Create Features"; //Create a feature with a polygon var token = createFeatures.Create(featureLayer, polygon); if (createFeatures.IsSucceeded) { // token.ObjectID wll 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>(); attributes.Add("SHAPE", polygon); attributes.Add("NAME", "Corner Market"); attributes.Add("SIZE", 1200.5); attributes.Add("DESCRIPTION", "Corner Market"); createFeatures.Create(featureLayer, attributes); //Create features using the current template //Must be within a MapTool createFeatures.Create(this.CurrentTemplate, polygon); //Execute to execute the operation //Must be called within QueuedTask.Run if (!createFeatures.IsEmpty) { createFeatures.Execute(); //Execute will return true if the operation was successful and false if not. } //or use async flavor //await createFeatures.ExecuteAsync();
QueuedTask.Run(() =>
{
//get selected feature into inspector
var selectedFeatures = MapView.Active.Map.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 FileStream(@"d:\temp\blob.jpg", FileMode.Create, FileAccess.Write))
{
msw.WriteTo(file);
}
//read file into memory stream
var msr = new MemoryStream();
using (FileStream file = new FileStream(@"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();
op.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, Windows 10