Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            });
        }