private ISupportDataObjectEditing _GetDataObjectEditing(DataObject obj, Page pageBase) { ISupportDataObjectEditing objectEditing = null; SpecialtiesPage specialtiesPage = pageBase as SpecialtiesPage; if (null == specialtiesPage) { objectEditing = pageBase as ISupportDataObjectEditing; } else { if (obj is VehicleSpecialty) { objectEditing = specialtiesPage.VehicleSpecialtiesPanel; } else { Debug.Assert(obj is DriverSpecialty); objectEditing = specialtiesPage.DriverSpecialtiesPanel; } } return(objectEditing); }
public void Execute(object parameter) { try { DataObject obj = DataObjectHelper.GetPrescribedObject(_type, _id); if (null != obj) { INavigationItem item = null; if (App.Current.MainWindow.NavigationTree.FindItem(_navigateLink, out item)) { if ((item as PageItem).Page != App.Current.MainWindow.CurrentPage) { App.Current.MainWindow.Navigate(_navigateLink); } Page pageBase = App.Current.MainWindow.CurrentPage; ISupportDataObjectEditing objectEditing = _GetDataObjectEditing(obj, pageBase); ISupportSelection selection = _GetSelection(obj, pageBase); bool isEditingInProgress = false; if (null != objectEditing) { isEditingInProgress = objectEditing.IsEditingInProgress; } if (null != selection) { // if any object is editing - try to save changed if (isEditingInProgress) { isEditingInProgress = !selection.SaveEditedItem(); } // if grid isn't editing or changes saved successfully - select items if (!isEditingInProgress) { selection.Select(new Collection <DataObject>() { obj }); } } } } } catch (Exception e) { Logger.Error(e); } }
/// <summary> /// Method removes handlers for all editing events. /// </summary> /// <param name="view">Object implements ISupportDataObjectEditing - List view or Map view.</param> private void _RemoveEditingEventHandlers(ISupportDataObjectEditing view) { // Remove handlers to create events. view.CreatingNewObject -= _ViewCreatingNewObject; view.NewObjectCreated -= _ViewNewObjectCreated; // Remove handlers to commit events. view.CommittingNewObject -= _ViewCommittingNewObject; view.NewObjectCommitted -= _ViewNewObjectCommitted; // Remove handlers to cancel new events. view.NewObjectCanceled -= _ViewNewObjectCanceled; // Remove handlers to begin edit events. view.BeginningEdit -= _ViewBeginningEdit; view.EditBegun -= _ViewEditBegun; // Remove handlers to cancel edit events. view.EditCanceled -= _ViewEditCanceled; // Remove handlers to commit edit events. view.CommittingEdit -= _ViewCommittingEdit; view.EditCommitted -= _ViewEditCommitted; }
/// <summary> /// Method adds handlers for all editing events. /// </summary> /// <param name="view">Object implements ISupportDataObjectEditing - List view or Map view.</param> private void _AddEditingEventHandlers(ISupportDataObjectEditing view) { // Add handlers to create events. view.CreatingNewObject += new DataObjectCanceledEventHandler(_ViewCreatingNewObject); view.NewObjectCreated += new DataObjectEventHandler(_ViewNewObjectCreated); // Add handlers to commit events. view.CommittingNewObject += new DataObjectCanceledEventHandler(_ViewCommittingNewObject); view.NewObjectCommitted += new DataObjectEventHandler(_ViewNewObjectCommitted); // Add handlers to cancel new events. view.NewObjectCanceled += new DataObjectEventHandler(_ViewNewObjectCanceled); // Add handlers to begin edit events. view.BeginningEdit += new DataObjectCanceledEventHandler(_ViewBeginningEdit); view.EditBegun += new DataObjectEventHandler(_ViewEditBegun); // Add handlers to cancel edit events. view.EditCanceled += new DataObjectEventHandler(_ViewEditCanceled); // Add handlers to commit edit events. view.CommittingEdit += new DataObjectCanceledEventHandler(_ViewCommittingEdit); view.EditCommitted += new DataObjectEventHandler(_ViewEditCommitted); }
/// <summary> /// Method removes handlers for all editing events. /// </summary> /// <param name="view">Object implements ISupportDataObjectEditing - List view or Map view.</param> private void _RemoveEditingEventHandlers(ISupportDataObjectEditing view) { // Remove handlers to create events. view.CreatingNewObject -= _ViewCreatingNewObject; view.NewObjectCreated -= _ViewNewObjectCreated; // Remove handlers to commit events. view.CommittingNewObject -= _ViewCommittingNewObject; view.NewObjectCommitted -= _ViewNewObjectCommitted; // Remove handlers to cancel new events. view.NewObjectCanceled -= _ViewNewObjectCanceled; // Remove handlers to begin edit events. view.BeginningEdit -= _ViewBeginningEdit; view.EditBegun -= _ViewEditBegun; // Remove handlers to cancel edit events. view.EditCanceled -= _ViewEditCanceled; // Remove handlers to commit edit events. view.CommittingEdit -= _ViewCommittingEdit; view.EditCommitted -= _ViewEditCommitted; }
/// <summary> /// Method adds handlers for all editing events. /// </summary> /// <param name="view">Object implements ISupportDataObjectEditing - List view or Map view.</param> private void _AddEditingEventHandlers(ISupportDataObjectEditing view) { // Add handlers to create events. view.CreatingNewObject += new DataObjectCanceledEventHandler(_ViewCreatingNewObject); view.NewObjectCreated += new DataObjectEventHandler(_ViewNewObjectCreated); // Add handlers to commit events. view.CommittingNewObject += new DataObjectCanceledEventHandler(_ViewCommittingNewObject); view.NewObjectCommitted += new DataObjectEventHandler(_ViewNewObjectCommitted); // Add handlers to cancel new events. view.NewObjectCanceled += new DataObjectEventHandler(_ViewNewObjectCanceled); // Add handlers to begin edit events. view.BeginningEdit += new DataObjectCanceledEventHandler(_ViewBeginningEdit); view.EditBegun += new DataObjectEventHandler(_ViewEditBegun); // Add handlers to cancel edit events. view.EditCanceled += new DataObjectEventHandler(_ViewEditCanceled); // Add handlers to commit edit events. view.CommittingEdit += new DataObjectCanceledEventHandler(_ViewCommittingEdit); view.EditCommitted += new DataObjectEventHandler(_ViewEditCommitted); }