public bool Delete(DataRepository observedData) { var usersOfObservedData = allUsersOfObservedData(observedData).ToList(); if (usersOfObservedData.Any()) { throw new CannotDeleteObservedDataException(observedData.Name, usersOfObservedData.Select(typeNamed).ToList()); } var viewResult = _dialogCreator.MessageBoxYesNo(Captions.ReallyDeleteObservedData(observedData.Name)); if (viewResult == ViewResult.No) { return(false); } var removeCommand = new RemoveObservedDataFromProjectCommand(observedData).Run(_executionContext); _executionContext.AddToHistory(removeCommand); return(true); }