示例#1
0
        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));
            }
        }
示例#2
0
        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));
            }
        }