| | 37 | [[Image(AddExpense1.png)]] |
| | 38 | Каде што после секој успешен одговор од серверот се обработуваат податоците, и се вметнуваат во модалот. |
| | 39 | |
| | 40 | При клик на одреден група се исрпаќа GET барање до серверот за сите нејзини членови |
| | 41 | [[Image(GroupBackend3.png)]] |
| | 42 | |
| | 43 | Потоа при внесување на сума, и селектирање на членови за учество во трошокот при клик на "Add Expense" копчето се повикува следната функција: |
| | 44 | [[Image(AddExpense2.png)]] |
| | 45 | |
| | 46 | Со направентот POST барање се повикува контролерот ExpenseController со функцијата addExpense() |
| | 47 | [[Image(AddExpenseBackend.png)]] |
| | 48 | |
| | 49 | Во функцијата погоре правиме проверка на податоците ( дали постои пријателство меѓу одбраните членови, дали се валидни корисничките имиња) |
| | 50 | [[Image(AddExpenseBackend2.png)]] |
| | 51 | |
| | 52 | Доколку сите услови се исполнети, при успешен тек на кодот стигаме до следниот дел код: |
| | 53 | [[Image(AddExpenseBackend3.png)]] |
| | 54 | Во кодот погоре повикуваме splitExpenseService.createGroupExpense() со што преминуваме во сервисниот слој каде што се процесира логиката околку поделбата на трошокот, додека во остантиот дел од кодот се проверува за исплатени долгови со што би се затвориле тековните трошоци (не би се читале повеќе од база) |
| | 55 | |
| | 56 | [[Image(AddExpenseBackend4.png)]] |
| | 57 | Во функцијата createGroupExpense() го креираме ентитетот од Expense и соодветно од низата од кориснички имиња ги вчитуваме тие ентитети (User) од базата. Всушност ги спремаме податоците за следниот чекор што е делењето на трошок преку функциата createGroupExpenseSplit(). |
| | 58 | [[Image(AddExpenseBackend5.png)]] |
| | 59 | За крај се повикува еден циклус врз низата корисници со што се update-нува тековната состојба на долгови во базата. |
| | 60 | [[Image(AddExpenseBackend6.png)]] |
| | 61 | |
| | 62 | При успешно извршување на кодот како одговор конролерот испраќа објект од типот Expense со цел да се избеге рефреширање на страната за да се види новиот трошок. |
| | 63 | |
| | 64 | |
| | 65 | |
| | 66 | |