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() { 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() { 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