public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "topics/{id}/commitments")] HttpRequest req,
            string id,
            ILogger log
            )
        {
            log.LogInformation($"Getting all Commitments for Topic: {id}");

            var optionsBuilder = new DbContextOptionsBuilder <Database.Persistence.ShepherdContext>();

            optionsBuilder.UseSqlServer(Environment.GetEnvironmentVariable("ConnectionString"));

            using (var context = new Database.Persistence.ShepherdContext(optionsBuilder.Options))
            {
                var topic = await context.Topics.Include(x => x.Commitments).SingleOrDefaultAsync(x => x.Id == new Guid(id));

                if (topic == null)
                {
                    return(new NotFoundResult());
                }

                var commitments = topic.Commitments.ToList();

                return(new OkObjectResult(commitments));
            }
        }
示例#2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "people")] HttpRequest req,
            ILogger log
            )
        {
            log.LogInformation("Getting all People");

            var optionsBuilder = new DbContextOptionsBuilder <Database.Persistence.ShepherdContext>();

            optionsBuilder.UseSqlServer(Environment.GetEnvironmentVariable("ConnectionString"));

            using (var context = new Database.Persistence.ShepherdContext(optionsBuilder.Options))
            {
                var people = await context.Users.ToListAsync();

                return(new OkObjectResult(people));
            }
        }
示例#3
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "commitments/{id}")] HttpRequest req,
            string id,
            ILogger log
            )
        {
            log.LogInformation($"Getting Commitment by ID: {id}");

            var optionsBuilder = new DbContextOptionsBuilder <Database.Persistence.ShepherdContext>();

            optionsBuilder.UseSqlServer(Environment.GetEnvironmentVariable("ConnectionString"));

            using (var context = new Database.Persistence.ShepherdContext(optionsBuilder.Options))
            {
                var commitment = await context.Commitments.FindAsync(new Guid(id));

                return(new OkObjectResult(commitment));
            }
        }