public async Task <IActionResult> RecordMeasurement(List <DataPointRecord> records, string urNumber,
                                                            [FromQuery(Name = "categoryIdList")] List <int> categoryId)
        {
            try
            {
                await _context.Database.BeginTransactionAsync();

                var recordedDate = DateTime.Now;

                foreach (int catId in categoryId)
                {
                    var measurementRecord = new MeasurementRecord
                    {
                        DateTimeRecorded = recordedDate,
                        MeasurementId    = records.FirstOrDefault().MeasurementId,
                        CategoryId       = catId,
                        Urnumber         = urNumber
                    };

                    _context.MeasurementRecord.Add(measurementRecord);
                    await _context.SaveChangesAsync();

                    foreach (DataPointRecord record in records)
                    {
                        record.MeasurementRecordId = measurementRecord.MeasurementRecordId;
                        _context.DataPointRecord.Add(record);
                    }

                    await _context.SaveChangesAsync();
                }

                _context.Database.CommitTransaction();
            }
            catch (Exception ex)
            {
                _context.Database.RollbackTransaction();
                return(BadRequest(ex.Message));
            }

            return(Ok());
        }