Commit a982e996 by Patryk Czarnik

Rozdzielenie insert i update

parent 759ab54c
...@@ -41,11 +41,34 @@ public class Ogloszenia { ...@@ -41,11 +41,34 @@ public class Ogloszenia {
} }
} }
public void save( public void update(
@WebParam(name="ogloszenie") OgloszenieSamochodowe ogloszenie) throws BladBazyDanych, NieznanyRekord {
// W tej wersji zakładamy, że obiekt ma podane id i nadpisujemy istniejące.
// W tym przypadku nie trzeba dawać informacji zwrotnej.
try(DostepDoBazySqlite db = DostepDoBazySqlite.newSQLite()) {
db.beginTransaction();
OgloszenieDAO dao = db.newOgloszenieDAO();
boolean sukces = dao.update(ogloszenie);
if(!sukces) {
throw new NieznanyRekord("Brak ogłoszenia nr " + ogloszenie.getIdOgloszenia());
}
db.endTransaction(true);
}
}
@WebResult(name="new-id")
public int insert(
@WebParam(name="ogloszenie") OgloszenieSamochodowe ogloszenie) throws BladBazyDanych { @WebParam(name="ogloszenie") OgloszenieSamochodowe ogloszenie) throws BladBazyDanych {
// W tej wersji zawsze dodajemy nowy rekord.
// W razie, gdyby klient przysłał ogłoszenie z ustawionym id, to my i tak to id zignorujemy.
// W tej wersji w odpowiedzi wysyłamy id nowego rekordu, aby klient dowiedział się jakie ono jest.
ogloszenie.setIdOgloszenia(null);
try(DostepDoBazySqlite db = DostepDoBazySqlite.newSQLite()) { try(DostepDoBazySqlite db = DostepDoBazySqlite.newSQLite()) {
db.beginTransaction();
OgloszenieDAO dao = db.newOgloszenieDAO(); OgloszenieDAO dao = db.newOgloszenieDAO();
dao.save(ogloszenie); dao.insertNew(ogloszenie);
db.endTransaction(true);
return ogloszenie.getIdOgloszenia();
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment