Changes between Version 5 and Version 6 of UseCaseImplementation


Ignore:
Timestamp:
10/21/25 13:18:57 (2 weeks ago)
Author:
231219
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseImplementation

    v5 v6  
    3131[[Image(GroupBackend.png)]]
    3232Следно од сервисниот слој се повикува сервисот GroupService со функцијата createGroup()
    33 
     33[[Image(GroupBackend2.png)]]
    3434
    3535== Ид 6 Додавање трошок на група
    3636Со кликање на копчето "Add Expense" се повикува следната функција:
     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