private byte[] UseCodeService(Stream stream) { var codeToLookUp = _dataEncoder.DecodeUseCodeRequest(stream); var response = _codes.CheckCode(codeToLookUp); // In UseCode operation, the only case when any code changes its // state is when an unused code is checked. So we save // the codes in the storage only in such a case. if (response == CodeState.NotUsed) { SaveCodesToStorage(); } return(_dataEncoder.EncodeUseCodeResponse(response)); }