Example #1
0
        private static async Task WerkDeelnemersBij(SendyApiSettings sendySettings, SendyClient sendyClient, string[] args)
        {
            var vanafUserId = 0;

            if (args.Length > 1)
            {
                int.TryParse(args[1], out vanafUserId);
            }

            await InsertLoginTokens();

            var users = await GetAllUsers(vanafUserId);

            foreach (var user in users)
            {
                var status = await sendyClient.SubscriptionStatusAsync(user.Email, sendySettings.HuidigeDeelnemersLijstId);

                // Al ingeschreven en nieuwsbrief ontvangen? Dan custom fields bijwerken
                // Bestaat nog niet in mailing list maar wel nieuwsbrief ontvangen? Dan toevoegen.
                if (
                    (string.Compare(status.Response, "Subscribed", StringComparison.OrdinalIgnoreCase) == 0 && user.Nieuwsbrief) ||
                    (!status.IsSuccess && string.Compare(status.ErrorMessage, "Email does not exist in list", StringComparison.OrdinalIgnoreCase) == 0 && user.Nieuwsbrief)
                    )
                {
                    var customFields = new Dictionary <string, string>
                    {
                        { "LoginToken", user.EmailLoginToken?.Token },
                        { "UserId", user.Id.ToString() },
                        { "Teamnaam", user.Teamnaam },
                        { "Nieuwsbrief", user.Nieuwsbrief.ToString() },
                        { "Reminder", user.Reminder.ToString() },
                        { "Language", user.Taal },
                        { "IsActive", user.Actief.ToString() }
                    };
                    var result = await sendyClient.SubscribeAsync(user.Email, user.Naam, sendySettings.HuidigeDeelnemersLijstId, customFields);

                    Console.WriteLine($"{user.Id} {user.Email}: {result.IsSuccess} {result.ErrorMessage}{result.Response}");
                }
                else if (user.Nieuwsbrief == false)
                {
                    var result = await sendyClient.UnsubscribeAsync(user.Email, sendySettings.HuidigeDeelnemersLijstId);

                    Console.WriteLine($"{user.Id} {user.Email}: unsubscribed: {status.Response}");
                }
            }
        }
Example #2
0
        private static async Task VerplaatsToernooiUsers(SendyApiSettings sendySettings, SendyClient sendyClient)
        {
            var users = await GetUsers();

            foreach (var user in users)
            {
                var customFields = new Dictionary <string, string>
                {
                    { "Language", user.Taal }
                };

                Console.WriteLine($"Verwijder user {user.Email}, {user.Id}");
                await sendyClient.DeleteSubscriberAsync(user.Email, sendySettings.HuidigeDeelnemersLijstId);

                if (user.Nieuwsbrief)
                {
                    Console.WriteLine($"Voeg toe aan lijst {user.Email}, ({user.Id}");
                    await sendyClient.SubscribeAsync(user.Email, user.Naam, sendySettings.VerplaatsNaarLijstId, customFields);
                }
            }
        }