| 538 | == Назначува граѓанин за член на комисија |
| 539 | Како дополнение на сценариото од прототипот, во оваа верзија имплементиравме креирање на кориснички профил за секој граѓанин кој е назначен за член на комисија. Истото се извршува во една трансакција при неговотo внесување во табелата членови на комисија, па методот е соодветно анотиран со @Transactional. |
| 540 | {{{#!java |
| 541 | @Override |
| 542 | @Transactional |
| 543 | public CommitteeMember update(Long id) { |
| 544 | committeeMemberRepository.insertCommitteeMember(id); |
| 545 | Citizen c = citizenService.findById(id); |
| 546 | String userName = utilService.cyrillicToLatinTransliteration(c.getName()) + '.' + utilService.cyrillicToLatinTransliteration(c.getSurname()); |
| 547 | UserProfile userProfile = userProfileRepository.findByUserName(userName); |
| 548 | if(userProfile == null) { |
| 549 | userProfile = new UserProfile(); |
| 550 | userProfile.setUserName(userName); |
| 551 | userProfile.setPassword(passwordEncoder.encode(c.getIdNum())); |
| 552 | userProfile.setIsCommittee(true); |
| 553 | userProfile.setCitizen(c); |
| 554 | } |
| 555 | else { |
| 556 | userProfile.setIsCommittee(false); |
| 557 | } |
| 558 | return findById(id); |
| 559 | } |
| 560 | }}} |