protected override async Task <Action <AsyncCodeActivityContext> > ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken) { // Object Container: Use objectContainer.Get<T>() to retrieve objects from the scope var objectContainer = context.GetFromContext <IObjectContainer>(TwilioApiScope.ParentContainerPropertyTag); // Inputs var to = To.Get(context); var mediaurl = MediaUrl.Get(context); var from = From.Get(context); var quality = Quality.Get(context); var storemedia = StoreMedia.Get(context); var minutestosend = MinutesToSend.Get(context); var sipauthusername = SipAuthUsername.Get(context); var sipauthpassword = SipAuthPassword.Get(context); var statuscallback = StatusCallback.Get(context); var twilioQuality = quality == FaxQuality.Fine ? FaxResource.QualityEnum.Fine : quality == FaxQuality.SuperFine ? FaxResource.QualityEnum.Superfine : FaxResource.QualityEnum.Standard; var statusCallbackUri = statuscallback != null ? new Uri(statuscallback) : null; var sent = await FaxWrappers.SendFaxAsync(objectContainer.Get <ITwilioRestClient>(), from, to, new Uri(mediaurl), twilioQuality, sipauthusername, sipauthpassword, statusCallbackUri, storemedia, minutestosend); // Outputs return((ctx) => { Fax.Set(ctx, sent); }); }
protected override async Task <Action <AsyncCodeActivityContext> > ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken) { // Object Container: Use objectContainer.Get<T>() to retrieve objects from the scope var objectContainer = context.GetFromContext <IObjectContainer>(TwilioApiScope.ParentContainerPropertyTag); // Inputs var to = To.Get(context); var from = From.Get(context); var body = Body.Get(context); var mediaurls = MediaUrls.Get(context); var accountsid = AccountSid.Get(context); var messagingservicesid = MessagingServiceSid.Get(context); var applicationsid = ApplicationSid.Get(context); var statuscallback = StatusCallback.Get(context); var providefeedback = ProvideFeedback.Get(context); var maxprice = MaxPrice.Get(context); var validityperiod = ValidityPeriod.Get(context); var smartencoded = SmartEncoded.Get(context); var message = await MessageWrappers.SendMessageAsync(objectContainer.Get <ITwilioRestClient>(), from, to, body, mediaurls, maxprice, validityperiod, smartencoded, accountsid, applicationsid, messagingservicesid, providefeedback, statuscallback); // Outputs return((ctx) => { Message.Set(ctx, message); }); }