public void ButtonClicked(UserViewModel userViewModel, bool isRegister) { var authRepo = new AuthorisationRepository(); if (isRegister) { var user = authRepo.Register(userViewModel); if (user != null) { ShowMainForm(user); } else { MessageBox.Show("Email already in use. Try login instead"); } } else { var user = authRepo.Login(userViewModel); if (user != null) { ShowMainForm(user); } else { MessageBox.Show("Login failed. Incorrect credentials"); } } }
public static User MockUser(){ var userViewModel = new UserViewModel() { Email = "*****@*****.**", Password = "******" }; return new AuthorisationRepository().Register(userViewModel); }
public static void Init() { var userRepositorie = new Repository<User>(); var userViewModel = new UserViewModel() { Email = "*****@*****.**", Password = "******" }; new AuthorisationRepository().Register(userViewModel); }
/// <summary> /// Registers user if email is unique /// </summary> /// <param name="userViewModel">Entered data</param> /// <returns>User if registerd, null otherwise</returns> public User Register(UserViewModel userViewModel) { var usrRepo = new Repository<User>(); var user = usrRepo.Get(new Dictionary<string, string>() { { "Email", userViewModel.Email } }).FirstOrDefault(); if (user != null) { return null; } var newUser = CreateUser(userViewModel); usrRepo.Create(newUser); return newUser; }
public User CreateUser(UserViewModel userViewModel) { var salt = Hash.GenerateSalt(); var newUser = new User() { Email = userViewModel.Email, PasswordHash = Hash.GenerateHash(userViewModel.Password, salt), PasswordSalt = salt, ResourcesUpdatedAt = DateTime.Now }; newUser = UserFactory.CreateUserFactor(newUser); newUser = UserFactory.CreateUserResource(newUser); newUser = UserFactory.AddPlanet(newUser); return newUser; }
/// <summary> /// Logs in user checking password with salt /// </summary> /// <param name="userViewModel">Enterd data</param> /// <returns>User if logedin, null otherwise</returns> public User Login(UserViewModel userViewModel) { var usrRepo = new Repository<User>(); var user = usrRepo.Get(new Dictionary<string, string>() { { "Email", userViewModel.Email } }).FirstOrDefault(); if (user == null) { return null; } var passwordHash = Hash.GenerateHash(userViewModel.Password, user.PasswordSalt); if (passwordHash.SequenceEqual(user.PasswordHash)) { return user; } else { return null; } }
public UserViewModel Create() { var user = new UserViewModel() { Email = "*****@*****.**", Password = "******" }; return user; }