Exemplo n.º 1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "put", Route = "infection/register")] HttpRequest req)
        {
            Logger.LogInformation("C# HTTP trigger function processed a request.");

            // convert Postdata to InfectionRegisterParameter
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    param       = JsonConvert.DeserializeObject <InfectionRegisterParameter>(requestBody);

            // validation
            var validationResult = await Validation.ValidateAsync(req, param);

            if (!validationResult.IsValid)
            {
                AddBadRequest(req);
                return(validationResult.ErrorActionResult);
            }

            // Register
            var model = new InfectionProcessModel()
            {
                id               = param.ProcessingNumber,
                PartitionKey     = param.UserUuid,
                UserUuid         = param.UserUuid,
                Major            = param.Major,
                Minor            = param.Minor,
                ProcessingNumber = param.ProcessingNumber
            };
            await InfectionProcessRepository.Upsert(model);

            return(new StatusCodeResult(201));
        }
 public Task Upsert(InfectionProcessModel infectionProcess)
 {
     return(_db.InfectionProcess.UpsertItemAsync <InfectionProcessModel>(infectionProcess, new PartitionKey(infectionProcess.PartitionKey)));
 }