public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "GetMedicalSupplyOrderById/{id}")] HttpRequest req,
            Guid id,
            ILogger log)
        {
            log.LogInformation($"Request received for Get medical order By Id {id}.");

            MedicineOrder medicineOrder = await _medicalSupplyOrderRepository
                                          .RetrieveMedicalSupplyOrder(_connectionStrings.SqlServerConnectionString, id)
                                          .ConfigureAwait(false);

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

            log.LogInformation($"Sending medical order For Id {id}");

            return(new OkObjectResult(medicineOrder));
        }
예제 #2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            [ServiceBus("sbq-medicialsupplyorders-in", Connection = "ServiceBusConnection",
                        EntityType = EntityType.Queue)] IAsyncCollector <MedicineOrder> medicialSuppyOrders,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for medical order.");

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            MedicineOrderApproval medicineOrderApproval = JsonConvert.DeserializeObject <MedicineOrderApproval>(requestBody);

            MedicineOrder medicineOrder = await _medicalSupplyOrderRepository
                                          .RetrieveMedicalSupplyOrder(_connectionStrings.SqlServerConnectionString, medicineOrderApproval.Id)
                                          .ConfigureAwait(false);

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

            medicineOrder.TimeofApproval     = medicineOrderApproval.TimeofApproval = DateTime.Now;
            medicineOrder.OrderStatus        = medicineOrderApproval.OrderStatus;
            medicineOrder.AdditionalComments = medicineOrderApproval.AdditionalComments;

            _ = await _medicalSupplyOrderRepository
                .ApproveMedicalSupplyOrder(_connectionStrings.SqlServerConnectionString, medicineOrderApproval)
                .ConfigureAwait(false);

            if (medicineOrderApproval.OrderStatus == "Approved")
            {
                await medicialSuppyOrders.AddAsync(medicineOrder);
            }

            log.LogInformation("C# HTTP trigger function placed the medical order.");

            return(new NoContentResult());
        }