prvni vsechno zahodim, pak zkopiruju to co chci ulozit, pro jistotu to udelam dvakrat a kdyz uz to ulozim, musim si zkontrolovat jestli to je porad to, nebo neco jineho ....
/**
* V pripade, ze ukladame novou jeste neulozenou smlouvu, je treba obnovit selekci na aktivni
* smlouvu, nebot objekt se po ulozeni zmeni a selekce by automaticky nebyla zachovana.
*
* OH MY GOD, SAVE US !!!!
*
* @param smlouva
* @param obnovSelekciAktivniSmlouvy
* true, po ulzeni smlouvy zajisti obnovu selekce v tabulce na prave ulozenou smlouvu
* @return
*/
public PojistnaSmlouva uloz(PojistnaSmlouva smlouva, boolean obnovSelekciAktivniSmlouvy) {
// okamzik umi pracovat jen s kopii 1 a vetsi a my potrebujem zvalidovat 0, tak je treba
// vytvorit novou kopii, protoze na soucasne 1 muze byt neco vytvoreneho
getAktivniSmlouvu().zahodPracovniKopiiSmlouvy();
getAktivniSmlouvu().vytvorPracovniKopiiSmlouvy();
// volani okamziku, vypis chyb se pripoji ke stavajicimu seznamu chyb
AplikacniKontroler.volaniAOsetreniOkamzikuServisniVrstvy(EOkamzik.ULOZENI_SMLOUVY, false);
// pokud je smlouva ve stavu Opravovana (vytistena) zmen stav na vytistena
if (smlouva.getStav().getValue().equals(EStavSmlouvy.OPRAVOVANA_VYTISTENA_PS)) {
vratStavSmlouvy(smlouva,EStavSmlouvy.VYTISTENA_PS);
}
// pokud je smlouva ve stavu Opravovana (odeslana) zmen stav na odeslana
if (smlouva.getStav().getValue().equals(EStavSmlouvy.OPRAVOVANA_ODESLANA_PS)) {
vratStavSmlouvy(smlouva,EStavSmlouvy.ODESLANA_PS);
}
PojistnaSmlouva vysledek = iPojistnaSmlouvaService.uloz(smlouva); // po ulozeni dostaneme
// novy objekt, ktery uz
// ma db id
getAktivniSmlouvu().zahodPracovniKopiiSmlouvy();
getAktivniSmlouvu().vytvorPracovniKopiiSmlouvy();
Validate.notNull(vysledek.getDbId(), "Po ulozeni smlouvy je dbId NULL!");
nastavAktivniSmlouvu(vysledek); // tuto novou smlouvu je treba nastavit jako aktivni
getAktivniSmlouvu().setJeZmenena(false); // smlouva byla ulozena nastavime prislusny
// priznak
getAktivniSmlouvu().setJeNova(false); // smlouva byla ulozena ma dbId neni tudis nova
delegujZmenuSeznamuPS(obnovSelekciAktivniSmlouvy); // seznam Ps se mohl zmenit pokud
// ukladana smlouva byla
// smlouvou jinou, vysledek muze byt jiny objekt nez
// ukladana smlouva. Selekci v tabulce nechame na puvonim miste
PrepinaniZalozek.obnovAktivniZalozku();
return vysledek;
}