public async Task <ValidMailResult> DoValidMail(ValidMailInfo request) { try { var lastSendTime = (DateTime.UtcNow - _lastTime).TotalSeconds; if (lastSendTime <= 90) { throw new Exception( $"You need to wait at least 90 seconds before asking to resend an confirmation key! Last request was {lastSendTime} seconds ago."); } var result = await _dataExchange.DoDataExchange <ValidMailResult, ValidMailInfo>(request, CmdName); if (result.Result) { _lastTime = DateTime.UtcNow; } return(result); } catch (Exception e) { return(new ValidMailResult(false, e.Message)); } }
public async Task <ValidMailResult> DoValidMail(ValidMailInfo request) { try { if (!Misc.IsValideEmailAdress(request.EMail)) { throw new Exception("Invalid eMail!"); } var lastSendTime = (DateTime.UtcNow - _lastTime).TotalSeconds; if (lastSendTime <= 90) { throw new Exception( $"You need to wait at least 90 seconds before asking to resend an confirmation key! Last request was {lastSendTime} seconds ago."); } dynamic requestInfo = request; var result = await DataExchange.DoDataExchange((object)requestInfo); ValidMailResult retVal = result.ToObject <ValidMailResult>(); if (retVal.Result) { _lastTime = DateTime.UtcNow; } return(retVal); } catch (Exception e) { return(new ValidMailResult(false, e.Message)); } }