public async Task <List <OperationModel> > GetOperationModels()
        {
            LoggingService.Trace("Querying OperationsDatabase.GetOperationModels");

            var databaseConnection = await GetDatabaseConnection <OperationDatabaseModel>().ConfigureAwait(false);

            var dbLock = databaseConnection.GetConnection().Lock();

            try
            {
                var operationDatabaseModelList = databaseConnection.GetConnection().GetAllWithChildren <OperationDatabaseModel>();

                return(operationDatabaseModelList.Select(x => OperationDatabaseModel.ToOperationModel(x)).ToList());
            }
            catch (Exception e)
            {
                LoggingService.Error(e, "Error OperationsDatabase.GetOperationModels");

                return(new List <OperationModel>());
            }
            finally
            {
                dbLock.Dispose();
            }
        }
        public async Task <OperationModel?> GetOperationModel(string operationId)
        {
            LoggingService.Trace("Querying OperationsDatabase.GetOperationModel");

            if (string.IsNullOrEmpty(operationId))
            {
                return(null);
            }

            var databaseConnection = await GetDatabaseConnection <OperationDatabaseModel>().ConfigureAwait(false);

            var dbLock = databaseConnection.GetConnection().Lock();

            try
            {
                var operationDatabaseModel = databaseConnection.GetConnection().GetWithChildren <OperationDatabaseModel>(operationId);

                return(operationDatabaseModel != null?
                       OperationDatabaseModel.ToOperationModel(operationDatabaseModel) :
                           null);
            }
            catch (Exception e)
            {
                return(null);
            }
            finally
            {
                dbLock.Dispose();
            }
        }