public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            //TODO: get this from ClaimsPrincipal
            var userid = "1";

            var repository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString"));

            var requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var data        = JsonConvert.DeserializeObject <MovieList>(requestBody);

            if (string.IsNullOrEmpty(data.Name))
            {
                return(new BadRequestObjectResult("Name is required"));
            }
            data.UserId = userid;

            //eventually this would verify a unique name

            //TODO: add error handling
            var newMovieListId = await repository.CreateMovieListAsync(data);

            data.Id = newMovieListId;

            return(new OkObjectResult(data));
        }
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            //TODO: get this from ClaimsPrincipal
            var userid = "1";

            string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);
            var     movieId     = data?.movieId;

            if (movieId == null)
            {
                return(new BadRequestObjectResult("Must Provide Id."));
            }

            var lists = data?.lists?.ToObject <List <int> >();

            if (lists == null || lists?.Count == 0)
            {
                return(new OkObjectResult("Added to 0 lists."));
            }
            var movieListRepository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString"));

            await movieListRepository.AddMovieToListsAsync((int)movieId, lists, userid);

            return(new OkObjectResult(new { Message = $"Added to {lists?.Count} lists." }));
        }
Example #3
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "GetMovieList/{id}")] HttpRequest req,
            int?id,
            ILogger log)
        {
            //TODO: get this from ClaimsPrincipal
            var userid = "1";

            if (id == null)
            {
                return(new BadRequestObjectResult("Must Provide Id."));
            }

            var       listRepository  = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString"));
            var       movieRepository = new MovieRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString"));
            MovieList data            = await listRepository.GetAsync(userid, id.Value);

            if (data == null)
            {
                return(new BadRequestObjectResult("Invalid Id Provided."));
            }

            data.Movies = await movieRepository.GetByListIdAsync(data.Id);

            return(new OkObjectResult(data));
        }
Example #4
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            //TODO: get this from ClaimsPrincipal
            var userid = "1";

            var repository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString"));

            try
            {
                var movieLists = await repository.GetAsync(userid);

                return(new OkObjectResult(movieLists));
            }
            catch (Exception e)
            {
                return(new BadRequestObjectResult(e.Message));
            }
        }