public async Task <IActionResult> Update(OeeResourceParameter resourceParameter)
        {
            if (resourceParameter == null)
            {
                return(BadRequest(new ArgumentException("Resource parameter is empty!")));
            }
            try
            {
                var entity = await UpdateEntry(resourceParameter).ConfigureAwait(false);

                var oee = await _oeeService.GetOee(entity.LineId).ConfigureAwait(false);

                return(Ok(oee));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        private async Task <Oee> UpdateEntry(OeeResourceParameter resourceParameter)
        {
            if (resourceParameter == null)
            {
                throw new ArgumentNullException(nameof(resourceParameter));
            }

            await using var transaction = await _context.Database
                                          .BeginTransactionAsync()
                                          .ConfigureAwait(false);

            try
            {
                var record = _context.Oee.Update(
                    new Oee
                {
                    LineId       = resourceParameter.LineId,
                    OeeId        = new Guid(resourceParameter.OeeId.ToString()),
                    Timestamp    = resourceParameter.Timestamp,
                    EndDateTime  = resourceParameter.EndDateTime,
                    DateModified = DateTime.Now
                }
                    );

                await _context.SaveChangesAsync().ConfigureAwait(false);

                if (resourceParameter.OeeId == Guid.Empty)
                {
                    await AddClockNumber(record.Entity.OeeId, resourceParameter.ClockNumber)
                    .ConfigureAwait(false);
                }

                await transaction.CommitAsync().ConfigureAwait(false);

                return(record.Entity);
            }
            catch (Exception e)
            {
                await transaction.RollbackAsync().ConfigureAwait(false);

                throw new Exception(e.Message);
            }
        }