protected string DefaultExplanation(DeleteBlockage blockage) { return(string.Format( "Unable to delete {0} while there are referencing {1} items, reason: {2}<br/>", blockage.Blocked.GetType().Name.Replace("DataObject", ""), blockage.Blocker.GetType().Name.Replace("DataObject", ""), blockage.Reason )); }
protected void AddBlockage(string reason, IDataObject blocked, IDataObject blocker) { if (DeleteStack.IsResolved(blocker)) { return; } var blockage = new DeleteBlockage { Reason = reason, Blocked = blocked, Blocker = blocker, DeleteRoot = DeleteStack.RootObject, Parameters = this.Parameters }; DeleteStack.BlockersDuringCurrentTraversal.Add(blockage); DeleteStack.AddUnresolvedDependency(blocked, blocker); // Trace var explain = ApplicationSettings.Container.Resolve <IDeleteBlockageExplanationProvider>(); DeleteStack.Trace("BLOCKER: " + explain.Explain(blockage)); }
public virtual string Explain(DeleteBlockage blockage) { return(DefaultExplanation(blockage)); }