public class FooDataRepository
{
private MyServiceReferenceClient Client { get; set; }
public void FooClass()
{
Client = new MyServiceReferenceClient();
Client.SaveFooCompleted += Client_SaveFooCompleted;
Client.SaveBarCompleted += Client_SaveBarCompleted;
}
private void Client_SaveFooCompleted(Object sender, EventArgs e) { ... }
private void Client_SaveBarCompleted(Object sender, EventArgs e) { ... }
public void SaveFoo(Foo foo)
{
Client.SaveFooAsync(foo);
foreach (var bar in foo.Bars)
Client.SaveBarAsync(bar);
}
}
I want to do something within the FooDataRepository class once the SaveFooAsync and the all the SaveBarAsync methods have completed. Is there a standard pattern for trying to do a single thing based upon N number of Async calls completing?