public UserViewModel GetUserInfoByName(string userName) { ISpecification <ApplicationUser> alreadyRegisteredSpec = new AppUserAlreadyRegisteredSpec(userName); var existingUser = repository.FindOne(alreadyRegisteredSpec); var user = new UserViewModel() { Id = existingUser.Id, Name = existingUser.UserName }; return(user); }
public TokenViewModel Login(LoginViewModel model) { ISpecification <ApplicationUser> alreadyRegisteredSpec = new AppUserAlreadyRegisteredSpec(model.UserName); var existingUser = repository.FindOne(alreadyRegisteredSpec); if (existingUser == null) { throw new Exception("UserName or Password is invalid!"); } if (existingUser.PasswordIsValid(model.Password)) { return(GenerateToken(existingUser)); } throw new Exception("UserName or Password is invalid!"); }
public TokenViewModel Registrate(RegistrateViewModel model) { ISpecification <ApplicationUser> alreadyRegisteredSpec = new AppUserAlreadyRegisteredSpec(model.UserName); var existingUser = repository.FindOne(alreadyRegisteredSpec); if (existingUser != null) { throw new Exception("User already registered."); } var newUser = ApplicationUser.Create(model.UserName, model.Password); unitOfWork.BeginTransaction(); repository.Add(newUser); unitOfWork.Commit(); return(GenerateToken(newUser)); }