Example #1
0
        private static async Task <List <ContentItem> > GetCloudItemsAsync(string projectId, IEnumerable <IQueryParameter> parameters)
        {
            var deliveryClient = DeliveryClientHelpers.GetDeliveryClient(projectId);
            DeliveryItemListingResponse response = await deliveryClient.GetItemsAsync(parameters);

            return(response?.Items.ToList());
        }
        public async Task <IViewComponentResult> InvokeAsync(string speakerCodename, string location)
        {
            DeliveryItemListingResponse <HubspotForm> response = await _deliveryClient.GetItemsAsync <HubspotForm>(
                new EqualsFilter("system.type", HubspotForm.Codename)
                );

            return(View("RegistrationForm", response.Items));
        }
Example #3
0
        public static async Task <Song> GetSong(string kontentProjectId, int trackNumber)
        {
            IDeliveryClient client = DeliveryClientBuilder.WithProjectId(kontentProjectId).Build();

            DeliveryItemListingResponse <Song> song = await client.GetItemsAsync <Song>(new EqualsFilter("elements.track_number", trackNumber.ToString()));

            return(song.Items[0]);
        }
Example #4
0
        public async Task <DeliveryItemListingResponse <Movie> > GetMovies()
        {
            DeliveryItemListingResponse <Movie> response = await client.GetItemsAsync <Movie>(
                new EqualsFilter("system.type", "movie"),
                new ElementsParameter("title", "rating", "description", "listed_in")
                );

            return(response);
        }
Example #5
0
        public async Task<IActionResult> OnGetAsync()
        {
            Coffee = await _deliveryClient.GetItemsAsync<Coffee>(
                new EqualsFilter("system.type", "coffee"),
                new DepthParameter(1)
            );

            return Page();
        }
Example #6
0
        public async Task <ActionResult> Index(string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <Speaker> response = await DeliveryClient.GetItemsAsync <Speaker>(
                new EqualsFilter("system.type", "speaker")
                );

            return(View(response.Items));
        }
Example #7
0
        public async Task <ActionResult> Detail(string codename, string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <Speaker> response = await DeliveryClient.GetItemsAsync <Speaker>(
                new EqualsFilter("system.codename", codename)
                );

            return(View(response.Items[0]));
        }
        public async Task <ActionResult> Detail(string id, string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <Speaker> response = await DeliveryClient.GetItemsAsync <Speaker>(
                new EqualsFilter("elements.speaker_id", id)
                );

            return(View(response.Items[0]));
        }
        public async Task <ViewResult> Index(string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <Registration> response = await DeliveryClient.GetItemsAsync <Registration>(
                new EqualsFilter("system.type", "registration")
                );

            return(View(response.Items[0]));
        }
Example #10
0
        public async Task<IActionResult> OnGetAsync()
        {
            Articles = await _deliveryClient.GetItemsAsync<Article>(
                new EqualsFilter("system.type", "article"),
                new DepthParameter(1),
                new OrderParameter("elements.post_date")
            );

            return Page();
        }
Example #11
0
        public async Task <IViewComponentResult> InvokeAsync(string speakerCodename, string location)
        {
            DeliveryItemListingResponse <AgendaItem> response = await _deliveryClient.GetItemsAsync <AgendaItem>(
                new EqualsFilter("system.type", AgendaItem.Codename),
                new ContainsFilter("elements.speakers", speakerCodename),
                new ContainsFilter("elements.location", location.ToLower())
                );

            return(View("SpeakerAgendaItem", response.Items));
        }
Example #12
0
        public async Task <ActionResult> Index(string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <Venue> response = await DeliveryClient.GetItemsAsync <Venue>(
                new EqualsFilter("system.type", "venue"),
                new ContainsFilter("elements.location", location.ToLower())
                );

            return(View(response.Items));
        }
Example #13
0
        public void CastContentItems()
        {
            // Arrange
            var client2 = new DeliveryClient(SANDBOX_PROJECT_ID);

            // Act
            DeliveryItemListingResponse            response = client2.GetItemsAsync().Result;
            IEnumerable <CompleteContentItemModel> list     = response.Items.Where(i => i.System.Type == "complete_content_type").Select(a => a.CastTo <CompleteContentItemModel>());

            // Assert
            Assert.True(list.Any());
        }
        public async Task <ActionResult> Detail(string urlSlug, string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <AgendaItem> response = await DeliveryClient.GetItemsAsync <AgendaItem>(
                new EqualsFilter("system.type", "agenda_item"),
                new ContainsFilter("elements.location", location.ToLower()),
                new EqualsFilter("elements.url_slug", urlSlug),
                new DepthParameter(2)
                );

            return(View(response.Items[0]));
        }
Example #15
0
        public void CastContentItems()
        {
            const string SANDBOX_PROJECT_ID = "e1167a11-75af-4a08-ad84-0582b463b010";

            // Arrange
            var client = new DeliveryClient(SANDBOX_PROJECT_ID);

            // Act
            DeliveryItemListingResponse            response = client.GetItemsAsync().Result;
            IEnumerable <CompleteContentItemModel> list     = response.Items.Where(i => i.System.Type == "complete_content_type").Select(a => a.CastTo <CompleteContentItemModel>());

            // Assert
            Assert.True(list.Any());
        }
Example #16
0
        public async Task <ActionResult> Index()
        {
            DeliveryItemListingResponse <Home> response = await DeliveryClient.GetItemsAsync <Home>(
                new EqualsFilter("system.type", "home")
                );

            if (response.Items.Count > 1)
            {
                return(View(response.Items));
            }
            else
            {
                var loc = response.Items.First().Location.First().Name;
                return(RedirectToAction("Index", "Home", new { location = loc }));
            }
        }
        public async Task <ActionResult> Index(string id, string location)
        {
            ViewBag.location = location;

            DeliveryItemListingResponse <AgendaBlock> response = await DeliveryClient.GetItemsAsync <AgendaBlock>(
                new EqualsFilter("system.type", "agenda_block"),
                new ContainsFilter("elements.location", location.ToLower()),
                new DepthParameter(4)
                );

            var item = response.Items[0];

            item.EditURL = base.GetEditURL(item.System.Language, item.System.Id);

            return(View(item));
        }
Example #18
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            ILogger log, ExecutionContext context)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            var config = new ConfigurationBuilder()
                         .SetBasePath(context.FunctionAppDirectory)
                         .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                         .AddEnvironmentVariables()
                         .Build();

            IDeliveryClient client = DeliveryClientBuilder.WithProjectId(config["KontentProjectId"]).Build();

            DeliveryItemListingResponse <Song> listingResponse = await client.GetItemsAsync <Song>();

            var songs = listingResponse.Items.Select(x => x.Title).ToArray();

            string API_KEY    = config["NEXMO_API_KEY"];
            string API_SECRET = config["NEXMO_API_SECRET"];

            var nexmoClient = new Client(creds: new Nexmo.Api.Request.Credentials(
                                             nexmoApiKey: API_KEY, nexmoApiSecret: API_SECRET));

            var results = nexmoClient.SMS.Send(new SMS.SMSRequest
            {
                from = req.Query["to"],
                to   = req.Query["msisdn"],
                text = ConvertToNumberedList(songs)
            });


            return(new OkObjectResult(songs));

            string ConvertToNumberedList(IEnumerable <string> songs)
            {
                StringBuilder sb         = new StringBuilder();
                int           songNumber = 1;

                foreach (var s in songs)
                {
                    sb.AppendLine($"{songNumber++} - {s}");
                }
                return(sb.ToString());
            }
        }
        public void CastContentItems()
        {
            _mockHttp
            .When($"{_baseUrl}/items")
            .Respond("application/json", File.ReadAllText(Path.Combine(Environment.CurrentDirectory, $"Fixtures{Path.DirectorySeparatorChar}DeliveryClient{Path.DirectorySeparatorChar}items.json")));

            var client = InitializeDeliveryClientWithCustomModelProvider(_mockHttp);

            // Act
            DeliveryItemListingResponse            response = client.GetItemsAsync().Result;
            IEnumerable <CompleteContentItemModel> list     = response
                                                              .Items
                                                              .Where(i => i.System.Type == "complete_content_type")
                                                              .Select(a => a.CastTo <CompleteContentItemModel>());

            // Assert
            Assert.True(list.Any());
        }
        public void CastContentItems()
        {
            _mockHttp.When($"{_baseUrl}/items")
            .Respond("application/json", File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "Fixtures\\DeliveryClient\\items.json")));

            var httpClient = _mockHttp.ToHttpClient();

            var client = new DeliveryClient(_guid)
            {
                HttpClient = httpClient
            };

            // Act
            DeliveryItemListingResponse            response = client.GetItemsAsync().Result;
            IEnumerable <CompleteContentItemModel> list     = response.Items.Where(i => i.System.Type == "complete_content_type").Select(a => a.CastTo <CompleteContentItemModel>());

            // Assert
            Assert.True(list.Any());
        }
Example #21
0
        public static async Task <string> GetStringifiedSongList(string kontentProjectId)
        {
            IDeliveryClient client = DeliveryClientBuilder.WithProjectId(kontentProjectId).Build();

            DeliveryItemListingResponse <Song> listingResponse = await client.GetItemsAsync <Song>();

            var songs = listingResponse.Items.OrderBy(x => x.TrackNumber).Select(x => $"{x.TrackNumber} - {x.Title}").ToArray();

            return(ConvertToNumberedList(songs));

            string ConvertToNumberedList(IEnumerable <string> songList)
            {
                StringBuilder sb = new StringBuilder();

                foreach (var s in songList)
                {
                    sb.AppendLine(s);
                }
                return(sb.ToString());
            }
        }