public Uzytkownik(UzytkownikEntity entity) { ID = entity.ID; Nazwa = entity.Nazwa; Haslo = entity.Haslo; Email = entity.Email; }
public void Init(IServiceCollection services) { using (var context = new ZakupyContext()) { //var creationResult = context.Database.Migrate(); if (!context.Uzytkownicy.Any()) { var uzytkownik = new UzytkownikEntity { Haslo = "abc", Nazwa = "user1" }; context.Uzytkownicy.Add(uzytkownik); context.SaveChanges(); } } services.AddScoped <IUzytkownikDao, UzytkownikDao>(); services.AddScoped <IDefinicjaZamowieniaDao, DefinicjaZamowieniaDao>(); services.AddScoped <IGrupaProduktowDao, GrupaProduktowDao>(); services.AddDbContext <ZakupyContext>(); services.AddScoped <IUnitOfWork, UnitOfWork>(); }
public int Wstaw(IUzytkownik uzytkownik) { var uzytkownikEntity = new UzytkownikEntity { Nazwa = uzytkownik.Nazwa, Haslo = uzytkownik.Haslo, Email = uzytkownik.Email }; zakupyContext.Uzytkownicy.Add(uzytkownikEntity); zakupyContext.SaveChanges(); return(uzytkownikEntity.ID); }
public static UzytkownikDTO MapEntityToDto(UzytkownikEntity entity) { return new UzytkownikDTO { Id = entity.Id, Imie = entity.Imie, Nazwisko = entity.Nazwisko, Karta = entity.KartaKredytowaId.HasValue ? new KartaKredytowaDTO { KartaKredytowaId = entity.KartaKredytowaId.Value } : null }; }
/// <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); } }
/// <summary> /// Metoda wyszukuje w bazie danych użytkownika o wybranej nazwie. /// </summary> /// <param name="username">Nazwa użytkownika, którego szukamy</param> /// <returns>Obiekt zawierający dane użytkownika oraz informacja o sukcesie</returns> internal Optional <UzytkownikEntity> FindByNazwaUzytkownika(string username) { UzytkownikEntity user = null; MySqlConnection connection = DBConnection.Instance.Connection; using (MySqlCommand command = new MySqlCommand("SELECT * FROM uzytkownicy u WHERE u.nazwa_uzytkownika = '" + username + "';", connection)) { connection.Open(); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { user = new UzytkownikEntity(reader); } connection.Close(); } return(new Optional <UzytkownikEntity>(user)); }
/// <summary> /// Metoda zapisująca użytkownika do bazy danych. /// <param name="uzytkownik">Encja użytkownika, którego zapiszemy do bazy</param> /// </summary> internal void Save(UzytkownikEntity uzytkownik) { MySqlConnection connection = DBConnection.Instance.Connection; connection.Open(); MySqlCommand insertingCommand = connection.CreateCommand(); insertingCommand.CommandText = "INSERT INTO Uzytkownicy(nazwa_uzytkownika, ukryte_haslo, imie, nazwisko, email, data_urodzenia) VALUES (?nazwa_uzytkownika, ?ukryte_haslo, ?imie, ?nazwisko, ?email, ?data_urodzenia)"; insertingCommand.Parameters.AddWithValue("?nazwa_uzytkownika", uzytkownik.NazwaUzytkownika); insertingCommand.Parameters.AddWithValue("?ukryte_haslo", Security.HashPassword(uzytkownik.Haslo)); insertingCommand.Parameters.AddWithValue("?imie", uzytkownik.Imie); insertingCommand.Parameters.AddWithValue("?nazwisko", uzytkownik.Nazwisko); insertingCommand.Parameters.AddWithValue("?email", uzytkownik.Email); insertingCommand.Parameters.AddWithValue("?data_urodzenia", uzytkownik.DataUrodzenia.Value.ToString("yyyy-MM-dd")); insertingCommand.ExecuteNonQuery(); connection.Close(); }
/// <summary> /// Metoda wylogowywująca użytkownika. /// </summary> internal void LogOut() { loggedUser = null; UpdateLoggedInAs?.Invoke(null); }