protected override void Execute(NativeActivityContext context) { try { Init(context); var text = From.Get(context); var text2 = To.Get(context); var dateSentBefore = DateSentBefore.Get(context); var dateSent = DateSent.Get(context); var dateSentAfter = DateSentAfter.Get(context); var num = Limit.Get(context); ReadMessageOptions readMessageOptions = new ReadMessageOptions(); if (!string.IsNullOrWhiteSpace(text)) { readMessageOptions.From = text; } if (!string.IsNullOrWhiteSpace(text2)) { readMessageOptions.To = text2; } readMessageOptions.DateSentBefore = dateSentBefore; readMessageOptions.DateSent = dateSent; readMessageOptions.DateSentAfter = dateSentAfter; readMessageOptions.Limit = ((num < 1) ? 1 : num); ResourceSet <MessageResource> resourceSet = MessageResource.Read(readMessageOptions); var dataTable = CriarDataTable(); foreach (MessageResource item in resourceSet) { dataTable.Rows.Add(item.DateCreated, item.DateUpdated, item.DateSent, item.Direction.ToString(), item.ErrorCode, item.ErrorMessage, item.From, item.Sid, item.Status.ToString(), item.To, item.Body); } Sucess.Set(context, value: true); Result.Set(context, dataTable); } catch (Exception ex) { Sucess.Set(context, value: false); ErrorMessage.Set(context, ex.Message); } }
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 from = From.Get(context); var to = To.Get(context); var datesent = DateSent.Get(context); var datesentbefore = DateSentBefore.Get(context); var datesentafter = DateSentAfter.Get(context); var accountsid = AccountSid.Get(context); var limit = Limit.Get(context); var messages = await MessageWrappers.GetMessagesAsync(objectContainer.Get <ITwilioRestClient>(), from, to, accountsid, datesent, datesentafter, datesentbefore, limit); // Outputs return((ctx) => { Messages.Set(ctx, messages); }); }