///-------------------------------------------------------------------------------- /// <summary>This method sets the default values.</summary> ///-------------------------------------------------------------------------------- protected override void OnSetDefaults() { if (IndexProperty.ReverseInstance != null) { EditIndexProperty.TransformDataFromObject(IndexProperty.ReverseInstance, null, false); } else if (IndexProperty.IsAutoUpdated == true) { EditIndexProperty.TransformDataFromObject(IndexProperty, null, false); } else { IndexProperty newIndexProperty = new IndexProperty(); newIndexProperty.IndexPropertyID = EditIndexProperty.IndexPropertyID; EditIndexProperty.TransformDataFromObject(newIndexProperty, null, false); } EditIndexProperty.ResetModified(true); }
///-------------------------------------------------------------------------------- /// <summary>This method updates the view model data and sends update command back /// to the solution builder.</summary> ///-------------------------------------------------------------------------------- protected override void OnUpdate() { // set up reverse engineering instance if not present if (IndexProperty.ReverseInstance == null && IndexProperty.IsAutoUpdated == true) { IndexProperty.ReverseInstance = new IndexProperty(); IndexProperty.ReverseInstance.TransformDataFromObject(IndexProperty, null, false); // perform the update of EditIndexProperty back to IndexProperty IndexProperty.TransformDataFromObject(EditIndexProperty, null, false); IndexProperty.IsAutoUpdated = false; } else if (IndexProperty.ReverseInstance != null) { EditIndexProperty.ResetModified(IndexProperty.ReverseInstance.IsModified); if (EditIndexProperty.Equals(IndexProperty.ReverseInstance)) { // perform the update of EditIndexProperty back to IndexProperty IndexProperty.TransformDataFromObject(EditIndexProperty, null, false); IndexProperty.IsAutoUpdated = true; } else { // perform the update of EditIndexProperty back to IndexProperty IndexProperty.TransformDataFromObject(EditIndexProperty, null, false); IndexProperty.IsAutoUpdated = false; } } else { // perform the update of EditIndexProperty back to IndexProperty IndexProperty.TransformDataFromObject(EditIndexProperty, null, false); IndexProperty.IsAutoUpdated = false; } IndexProperty.ForwardInstance = null; if (PropertyIDCustomized || OrderCustomized || DescriptionCustomized || TagsCustomized) { IndexProperty.ForwardInstance = new IndexProperty(); IndexProperty.ForwardInstance.IndexPropertyID = EditIndexProperty.IndexPropertyID; IndexProperty.SpecSourceName = IndexProperty.DefaultSourceName; if (PropertyIDCustomized) { IndexProperty.ForwardInstance.PropertyID = EditIndexProperty.PropertyID; } if (OrderCustomized) { IndexProperty.ForwardInstance.Order = EditIndexProperty.Order; } if (DescriptionCustomized) { IndexProperty.ForwardInstance.Description = EditIndexProperty.Description; } if (TagsCustomized) { IndexProperty.ForwardInstance.Tags = EditIndexProperty.Tags; } } EditIndexProperty.ResetModified(false); OnUpdated(this, null); // send update back to solution builder SendEditIndexPropertyPerformed(); }
///-------------------------------------------------------------------------------- /// <summary>This method resets the data.</summary> ///-------------------------------------------------------------------------------- protected override void OnReset() { EditIndexProperty.TransformDataFromObject(IndexProperty, null, false); EditIndexProperty.ResetModified(false); }