private void TransmitResult(DeleteCommandResult <Account> result, IEnumerable <ICommandActionListener> listeners = null) { if (listeners != null && result != null) { foreach (var listener in listeners) { listener.OnCommand(result); } } }
protected override bool TryDoAction(ILog log, IEnumerable <ICommandActionListener> listeners = null) { long accountId = Repositories.AccountRepository.GetIdByName(AccountName.GetValue(String.Empty)); List <Account> deletedAccounts = new List <Account>(); bool isSuccessful = DeleteAccount(accountId, IsRecursiveOption.GetValue(false), log, deletedAccounts); DeleteCommandResult <Account> result = new DeleteCommandResult <Account>(this, isSuccessful, deletedAccounts); TransmitResult(result, listeners); return(isSuccessful); }
public void OnCommand <T>(DeleteCommandResult <T> result) where T : IDetailable { if (result.IsSuccessful) { string typeName = result.DeletedItems.First().TypeName; Console.WriteLine($"Successfully deleted {result.DeletedItems.Count()} {typeName.Pluralize(true)}:"); foreach (var item in result.DeletedItems) { Console.WriteLine($"\t• \"{item.DisplayName}\""); } } else { Console.WriteLine($"Something went wrong. Failed to delete object"); } }
public virtual void OnCommand <T>(DeleteCommandResult <T> result) where T : IDetailable { _results.Add(result); }