public static async Task <IActionResult> GetAll(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "medicinedispenser/")] HttpRequest req,
            ILogger log)
        {
            var res = new MedicineDispenserDataSource().GetAll();

            return(new OkObjectResult(res));
        }
        public static async Task <IActionResult> GetByID(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "medicinedispenser/{id}/")] HttpRequest req,
            string id,
            ILogger log)
        {
            var guid = GuidHelper.GetFromString(id);

            if (guid == null)
            {
                return(new BadRequestObjectResult("Invalid GUID"));
            }
            var res = new MedicineDispenserDataSource().GetByID(guid.Value);

            return(res != null ? (IActionResult) new OkObjectResult(res) : (IActionResult) new NotFoundObjectResult("No dispenser device found with ID"));
        }
        public static async Task <IActionResult> GetEventsByDeviceID(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "medicinedispenser/{deviceID}/events")] HttpRequest req,
            string deviceID,
            ILogger log)
        {
            var deviceIdGUID = GuidHelper.GetFromString(deviceID);

            if (deviceIdGUID == null)
            {
                return(new BadRequestObjectResult("Invalid GUID"));
            }
            var device = new MedicineDispenserDataSource().GetByID(deviceIdGUID.Value);

            if (device == null)
            {
                return(new NotFoundObjectResult("No dispenser found with this ID"));
            }

            var results = new MedicineDispenserEventDataSource().GetFiltered(e => e.DeviceID == deviceIdGUID);

            return(new OkObjectResult(results));
        }