/// <summary>
 /// Login Kaydı ekler.
 /// </summary>
 /// <param name="userId"></param>
 /// <returns></returns>
 public async Task <int> AddLoginEntry(int userId)
 {
     return(await _userLoginRepository.Add(new UserLogins
     {
         UserId = userId,
         LastLoginDateTime = DateTime.Now,
         IpAddress = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(),
     }));
 }
Exemple #2
0
        public async Task AddLoginAsync(User user, UserLoginInfo login)
        {
            ThrowIfDisposed();
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (login == null)
            {
                throw new ArgumentNullException("login");
            }

            _userLoginRepository.Add(new UserLogin {
                LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey, UserId = user.Id
            });
            await _uow.SaveChangesAsync();
        }
        public Task AddLoginAsync(ApplicationUser user, UserLoginInfo login, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (login == null)
            {
                throw new ArgumentNullException(nameof(login));
            }

            if (string.IsNullOrWhiteSpace(login.LoginProvider))
            {
                throw new ArgumentNullException(nameof(login.LoginProvider));
            }

            if (string.IsNullOrWhiteSpace(login.ProviderKey))
            {
                throw new ArgumentNullException(nameof(login.ProviderKey));
            }

            var loginEntity = new UserLogin
            {
                LoginProvider       = login.LoginProvider,
                ProviderDisplayName = login.ProviderDisplayName,
                ProviderKey         = login.ProviderKey,
                UserId = user.Id
            };

            _userLoginRepository.Add(loginEntity);

            return(Task.CompletedTask);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="objUserLogin"></param>
 public void InsertUserLogin(UserLogin objUserLogin)
 {
     _userLoginRepository.Add(objUserLogin);
     _unitOfWork.Commit();
 }
        public RegisterUserResponse RegisterUserLogin(RegisterUserRequest request)
        {
            var response = new RegisterUserResponse {
                HasIssues = false, ErrorMessage = string.Empty
            };

            string errorMessage;

            if (!_membershipValidator.IsValid(request.EmailAddress, request.Password, out errorMessage))
            {
                response.UserLogin.IsAuthenticated = false;

                response.HasIssues = true;

                response.ErrorMessage = errorMessage;

                return(response);
            }

            var userLoginQuery = new Query();

            userLoginQuery.Add(Criterion.Create <UserLogin>(u => u.Username, request.EmailAddress, CriteriaOperator.Equal));

            if (_userLoginRepository.Exists(userLoginQuery))
            {
                response.UserLogin = null;

                response.HasIssues = true;

                response.ErrorMessage = "A user with that email address already exists.";

                return(response);
            }

            var userLogin = new UserLogin
            {
                Username = request.EmailAddress,
                Password = _encryptor.HashPassword(request.Password, 8)
            };

            ThrowExceptionIfUserLoginIsInvalid(userLogin);

            _userLoginRepository.Add(userLogin);

            // Create the customer
            if (_customerRepository.Exists(request.FirstName, request.LastName, request.EmailAddress))
            {
                throw new CustomerExistsException(string.Format("Customer already exists: {0} ,{1} ,{2}.", request.FirstName,
                                                                request.LastName, request.EmailAddress));
            }

            var customer = new Customer
            {
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                EmailAddress = request.EmailAddress,
                UserLogin    = userLogin
            };

            ThrowExceptionIfCustomerIsInvalid(customer);

            _customerRepository.Save(customer);

            _uow.Commit();

            userLogin.IsAuthenticated = true;

            response.CustomerId = customer.Id;
            response.FirstName  = customer.FirstName;
            response.LastName   = customer.LastName;

            response.UserLogin = userLogin.ConvertToUserLoginView();

            return(response);
        }