Changes between Version 10 and Version 11 of UseCaseRealizations


Ignore:
Timestamp:
12/29/21 17:44:33 (2 years ago)
Author:
163067
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseRealizations

    v10 v11  
    3131-       POST
    3232Корисникот ажурира име, опис и/или листа локации и кликнува на копчето “Save”.  При клик на “Save” се повикува функцијата updatePlanner(). Во оваа функција се прави subscribe на методот updatePlanner(this.id, this.form.value) кој се повикува од planner service-от. Оваа метода updatePlanner(this.id, this.form.value) се “претплатува” на Observable со модел Planner (updatePlanner(id: number, plannerDto: PlannerDto): Observable<Planner>) која се зачувува со испраќање на HTTP PUT метод до backend REST контролерот со url = "http://localhost:8080/api/edit/planner/id". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. Така ажурираните податоци преку updatePlanner() методот се праќаат до backend.
     332.      Туристот пополнува податоци за да му се генерираат локации
     34По клик на копчето “Add location” корисникот се пренасочува на адресата /form каде се наоѓа форма за пополнување и избирање податоци според кои ќе му се препорачаат локации. Корисникот одбира дали сака да разгледува локации по регион или по град, одбира со кого ќе оди, колку дена планира да престојува и селектира категории за тоа што би сакал да посети. По клик на копчето “Create my planner” методот createMyPlanner() од  locations-form компонентата проверува дали корисникот избрал Регион или Град како опција и соодветно на изборот се прави subscribe на методот (this.cityId, this.companionId, this.lengthOfStay, this.categoryIds) или getLocationsFromRegion(this.regionId, this.companionId, this.lengthOfStay, this.categoryIds) соодветно. Овие методи се повикани од locationService-от, каде се “претплатуваат” на Observable со колекција од локации. Оваа листа од локации која се добива со испраќање на HTTP GET повик до backend REST контролерот. За генерирањето на локациите е напишан алгоритам во сервисниот слој на backend заедно со sql во repository слојот. Предлог-локациите по клик на “Create my planner” се листаат на адреса http://localhost:4200/locations.
     353.      Туристот одбира да додаде локација во својот планер
     36-       Откако му се предложени локациите на адреса http://localhost:4200/locations, корисникот може да ја додаде посакуваната локација во некој свој, претходно креиран, планер. Со клик на копчето “Add to my planner” од редот на локацијата, се отвора Dynamic Dialog во кој од база ги листа сите креирани планери на корисникот. До секој планер во дијалогот има копче selectPlanner(planner) кое испраќа planner модел до location.component од каде се отвора и обработува целиот дијалог (слично/исто како и кај точката “Create initial planner”). Тука во location.component каде се отвора AddLocationToPlannerPanelComponent, се прават проверки: дали планерот во кој корисникот сака да ја стави локацијата, е празен. Ако е празен планерот, ќе се додаде локацијата со postLocationToPlanner() методот кој се повикува од locationService и се појавува порака за успешно додадена локација. Ако планерот не е празен, значи веќе има некои локации во него, тогаш се прави проверка дали id-то на избраната локација го има во getAllLocationIdsForPlanner(). Ако го има тоа ид, тогаш се дава порака дека локацијата веќе ја има во планерот, ако го нема ид-то во листата тогаш се додава локацијата во избраниот планер со postLocationToPlanner(). Сите овие методи кои се повикани од сервисниот слој се прават со subscribe, а во сервисот се користи Observable и url на backend api.
    3337
    34 2.      Туристот одбира да додаде локација во својот планер
    35 3.      Туристот гледа детали за локација
    36 4.      Туристот брише планер
     384.      Туристот гледа детали за локација
     39-       Откако му се предложени локациите на адреса http://localhost:4200/locations, корисникот може да одбере да гледа детали за локација, со клик на копчето “See details”. Се извршува методот onClickSeeDetails() каде се зема id-то на локацијата и корисникот се пренасочува на адреса http://localhost:4200/location?id каде како параметар се праќа location id. На страницата за детали е прикажана LocationDetails компоментата.
    3740
     415.      Туристот брише планер
     42-       На страницата каде се наоѓаат сите планери, покрај можноста за ажурирање на планер, може да се избрише планерот. Тоа се прави со клик на копчето “Delete”, каде се извршува методот onDeletePlanner(). Во него се прави subscribe на методот deletePlannerById() чија имплементација е во PlannerService.
     43
     44
     45