Beispiel #1
0
        protected void Init(NativeActivityContext context)
        {
            string username = AccountSid.Get(context);
            string password = AuthToken.Get(context);

            TwilioClient.Init(username, password);
        }
Beispiel #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 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);
            });
        }
Beispiel #3
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 accountsid = AccountSid.Get(context);

            var account = await AccountWrappers.GetAccountAsync(objectContainer.Get <ITwilioRestClient>(), accountsid);

            // Outputs
            return((ctx) => {
                Account.Set(ctx, account);
            });
        }
Beispiel #4
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 messagesid = MessageSid.Get(context);
            var accountsid = AccountSid.Get(context);
            var body       = Body.Get(context);

            var updated = await MessageWrappers.UpdateMessageAsync(objectContainer.Get <ITwilioRestClient>(), messagesid, body, accountsid);

            // Outputs
            return((ctx) => {
                Message.Set(ctx, updated);
            });
        }
Beispiel #5
0
        protected override async Task <Action <NativeActivityContext> > ExecuteAsync(NativeActivityContext context, CancellationToken cancellationToken)
        {
            // Inputs
            var accountsid = AccountSid.Get(context);
            var authtoken  = AuthToken.Get(context);
            var region     = Region.Get(context);
            var timeout    = Timeout.Get(context);

            _objectContainer.Add(TwilioWrappers.GetTwilioRestClient(accountsid, authtoken, region, timeout));

            return((ctx) => {
                // Schedule child activities
                if (Body != null)
                {
                    ctx.ScheduleAction <IObjectContainer>(Body, _objectContainer, OnCompleted, OnFaulted);
                }

                // Outputs
            });
        }
Beispiel #6
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);
            });
        }
Beispiel #7
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 accountsid   = AccountSid.Get(context);
            var friendlyname = FriendlyName.Get(context);
            var status       = Status.Get(context);
            var twilioStatus = status == AccountStatus.Active ? AccountResource.StatusEnum.Active :
                               status == AccountStatus.Closed ? AccountResource.StatusEnum.Closed :
                               status == AccountStatus.Suspended ? AccountResource.StatusEnum.Suspended :
                               null;

            var account = await AccountWrappers.UpdateAccountAsync(objectContainer.Get <ITwilioRestClient>(), accountsid,
                                                                   friendlyname, twilioStatus);

            // Outputs
            return((ctx) => {
                Account.Set(ctx, account);
            });
        }
Beispiel #8
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 countrycode  = CountryCode;
            var accountsid   = AccountSid.Get(context);
            var areacode     = AreaCode.Get(context);
            var smsenabled   = SmsEnabled.Get(context);
            var mmsenabled   = MmsEnabled.Get(context);
            var voiceenabled = VoiceEnabled.Get(context);
            var faxenabled   = FaxEnabled.Get(context);
            var contains     = Contains.Get(context);
            var beta         = Beta.Get(context);
            var nearnumber   = NearNumber.Get(context);
            var nearlatlong  = NearLatLong.Get(context);
            var distance     = Distance.Get(context);
            var inpostalcode = InPostalCode.Get(context);
            var inregion     = InRegion.Get(context);
            var inratecenter = InRateCenter.Get(context);
            var inlata       = InLata.Get(context);
            var inlocality   = InLocality.Get(context);
            var excludealladdressrequired     = ExcludeAllAddressRequired.Get(context);
            var excludelocaladdressrequired   = ExcludeLocalAddressRequired.Get(context);
            var excludeforeignaddressrequired = ExcludeForeignAddressRequired.Get(context);
            var limit = Limit.Get(context);

            var numbers = await AvailableMobilePhoneNumbersWrappers.GetAvailableMobilePhoneNumberAsync(
                objectContainer.Get <ITwilioRestClient>(), countrycode, accountsid, areacode, smsenabled, mmsenabled,
                faxenabled, voiceenabled, beta, contains, inlata, nearlatlong, nearnumber, distance, inlocality,
                inpostalcode, inratecenter, inregion, excludealladdressrequired, excludeforeignaddressrequired,
                excludelocaladdressrequired, limit);

            // Outputs
            return((ctx) => {
                PhoneNumbers.Set(ctx, numbers);
            });
        }