/// <summary> /// Metoda rejestrująca w bazie dnaych nowego użytkownika. /// </summary> /// <param name="request">Dane dotyczące nowego użytkownika</param> internal void Register(RegisterRequest request) { UzytkownikRepository uzytkownikRepository = new UzytkownikRepository(); if (uzytkownikRepository.ExistsByNazwaUzytkownika(request.Username)) { BasicResponse?.Invoke(false, "Użytkownik o takiej nazwie już istnieje"); } else { UzytkownikEntity userToRegister = new UzytkownikEntity(request.Username, request.Password, request.FirstName, request.LastName, request.Email, request.Birthday); uzytkownikRepository.Save(userToRegister); BasicResponse?.Invoke(true, "Pomyślnie zarejestrowano użytkownika"); } }
/// <summary> /// Metoda logująca użytkownika. /// </summary> /// <param name="username">Nazwa użytkownika</param> /// <param name="password">Hasło użytkownika</param> internal void LogIn(string username, string password) { string NOT_LOGGED_IN = "Nie udało się zalogować"; UzytkownikRepository uzytkownikRepository = new UzytkownikRepository(); UzytkownikEntity uzytkownik = uzytkownikRepository.FindByNazwaUzytkownika(username).OrElseThrow(NOT_LOGGED_IN); if (Security.HashPassword(password) == uzytkownik.Haslo) { loggedUser = uzytkownik; UpdateLoggedInAs?.Invoke(uzytkownik.NazwaUzytkownika); } else { throw new Exception(NOT_LOGGED_IN); } }