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");
     }
 }
Esempio n. 4
0
 public virtual void OnCommand <T>(DeleteCommandResult <T> result) where T : IDetailable
 {
     _results.Add(result);
 }