Exemplo n.º 1
0
        public Genre ToGenre(GenreResult source)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            return(new Genre()
            {
                Id = source.Id,
                Name = source.Name
            });
        }
Exemplo n.º 2
0
        public void ToGenre_HasGenreResult_ReturnsGenre()
        {
            var source = new GenreResult()
            {
                Id   = 10,
                Name = "Any genre"
            };
            var target = new GenreMapper();
            var actual = target.ToGenre(source);

            Assert.AreEqual(source.Id, actual.Id);
            Assert.AreEqual(source.Name, actual.Name);
        }
        public static async Task <IActionResult> RunByGenre(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            var     requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);
            string  lyrics      = data?.lyrics;
            string  genreName   = data?.genre;
            string  warmup      = data?.warmup;

            // Can call function to warm it up
            if (!string.IsNullOrEmpty(warmup))
            {
                log.LogInformation($"Warmup called");
                return(new OkObjectResult("OK"));
            }

            var result = new GenreResult();

            try
            {
                if (!string.IsNullOrWhiteSpace(lyrics) && !string.IsNullOrWhiteSpace(genreName) && Enum.TryParse(genreName, true, out Genre genre))
                {
                    result = await GenreClassification.GetGenreResult(genre, lyrics, log);

                    return(new JsonResult(result));
                }
            }
            catch (Exception ex)
            {
                log.LogInformation($"Error: {ex.Message}");
            }

            return(new JsonResult(result));
        }