public void HandleSaveCommandGenericDataLayerException() {
            ExpectRegisterAndPrepareView();
            Expect.Call(viewMock.GetWaitCursor()).Return(waitCursorStub);
            Expect.Call(() => dataLayerMock.CommitChanges(assetCacheMock)).Throw(new DataLayerException(null));
            Expect.Call(assetCacheMock.Drop).Repeat.Never();
            Expect.Call(() => viewMock.ShowErrorMessage(null)).IgnoreArguments();
            Expect.Call(viewMock.ResetPropertyView);

            mockRepository.ReplayAll();
            controller = new TestWorkitemTreeController(loggerFactoryMock, dataLayerMock, configuration, settingsMock, eventDispatcherMock);
            controller.Register(viewMock);
            controller.PrepareView();
            controller.HandleSaveCommand();

            mockRepository.VerifyAll();
        }
        public void HandleSaveCommand() {
            ExpectRegisterAndPrepareView();
            Expect.Call(viewMock.GetWaitCursor()).Return(waitCursorStub);
            Expect.Call(() => dataLayerMock.CommitChanges(assetCacheMock));
            Expect.Call(assetCacheMock.Drop);
            Expect.Call(() => eventDispatcherMock.Notify(null, new ModelChangedArgs(EventReceiver.WorkitemView, EventContext.WorkitemsRequested)));

            mockRepository.ReplayAll();
            controller = new TestWorkitemTreeController(loggerFactoryMock, dataLayerMock, configuration, settingsMock, eventDispatcherMock);
            controller.Register(viewMock);
            controller.PrepareView();
            controller.HandleSaveCommand();

            mockRepository.VerifyAll();
        }