public async Task <IActionResult> Execute(KeysFirstAuthorisationArgs args)
        {
            if (!ValidateAndCleanRequestMessage(args))
            {
                return(new BadRequestResult());
            }

            await _Writer.Execute(args);

            return(new OkResult());
        }
        public async Task Execute(int pAuthorize, Random r)
        {
            _DbContextProvider.BeginTransaction();
            var unauthorized = _DbContextProvider.Set <KeyReleaseWorkflowState>()
                               .Where(x => x.Authorised == false)
                               .Select(x => x.ConfirmationKey)
                               .ToArray();

            var authorized = unauthorized
                             .Where(x => r.Next(100) <= pAuthorize);

            foreach (var i in authorized)
            {
                await _Writer.Execute(new KeysFirstAuthorisationArgs { Token = i });
            }

            _DbContextProvider.SaveAndCommit();
        }