public void Handle(CompleteTodo createTodo) { if (!State.Complete) { Raise(new TodoCompleted()); } }
static void Main(string[] args) { var createTodo = new CreateTodo { AggregateId = Guid.NewGuid().ToString(), Name = "remote Todo" }; var complete = new CompleteTodo { AggregateId = createTodo.AggregateId }; Remote.Start("127.0.0.1", 12001); Cluster.Start("MyCluster", new ConsulProvider(new ConsulProviderOptions { DeregisterCritical = TimeSpan.FromSeconds(1) })); EventStream.Instance.Subscribe(x => { Console.WriteLine($"{DateTime.Now} - {x}"); switch (x) { case ClusterTopologyEvent e: e.Statuses.ToList().ForEach(s => Console.WriteLine($" {s.Address}:{s.Port}/{s.MemberId} - Alive:{s.Alive}")); break; case EndpointTerminatedEvent e: Console.WriteLine($" {e.Address} was terminated"); break; } }); while (Console.ReadLine() != "stop") { Task.Run(async() => { try { var pid = await Cluster.GetAsync(createTodo.AggregateId, "Todo"); pid.Tell(createTodo); pid.Tell(complete); } catch (AggregateException ex) { Console.WriteLine(ex.Message); foreach (var innerException in ex.InnerExceptions) { Console.WriteLine(innerException.Message); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }); } Console.ReadLine(); }
private void CheckBox_Checked(object sender, RoutedEventArgs e) { CompleteTodo?.Invoke(this, new RoutedEventArgs()); }
private static void CompleteTodo(CompleteTodo item) { var handler = new CompleteTodoHandler(_db.Database); handler.SendAsync(item).Await(); }
public async Task <ActionResult> Complete(CompleteTodo item) { await _mediator.SendAsync(item); return(RedirectToAction("Index")); }