Esempio n. 1
0
        private async Task <string> AddToken(AccessToken request)
        {
            var result = string.Empty;

            await Task.Run(() =>
            {
                if (request == null)
                {
                    throw new ArgumentNullException(nameof(request));
                }

                request.Email = request.Email.ToLower();
                if (_tokensRepository.AccessTokens != null && _tokensRepository.AccessTokens.Any())
                {
                    var t = _tokensRepository.AccessTokens.FirstOrDefaultAsync(x =>
                                                                               x.Email.Equals(request.Email)).Result;

                    if (t != null)
                    {
                        result = _locale["token_exists"];
                    }
                }

                if (string.IsNullOrEmpty(result))
                {
                    try
                    {
                        request.GenerateNew();
                        _tokensRepository.AddToken(request);
                        result = _locale["token_success"] + ": " + request.Token;
                    } catch (Exception ex)
                    {
                        throw new ArgumentNullException("Error: ", ex.InnerException);
                    }
                }
            });

            return(result);
        }