Changes between Version 4 and Version 5 of UseCaseImplementations


Ignore:
Timestamp:
01/21/26 16:05:27 (22 hours ago)
Author:
231067
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseImplementations

    v4 v5  
    1818== Пребарување низ ментори ==
    1919
     20Најпрво имаме преглед на ментори без применето филтрирање, каде сите ментори се прикажани во грид.
     21
    2022[[Image("пребарување (1).png")]]
     23
     24Имплементацијата на кодот е следна:
     25
     26[[Image(prebaruvanjekod1.png)]]
     27[[Image(prebaruvanjekod2.png)]]
     28
     29**Метод IsStudent()** - заштитен (protected) метод кој проверува дали моментално најавениот корисник е од тип Student.
     30
     31Прво се зема ID-то на најавениот корисник преку User.Identity.GetUserId(). Потоа, преку Entity Framework се пребарува табелата Users, но само корисници од тип Student (користејќи OfType<Student>()). Методот Any враќа true ако постои студент со истото ID, во спротивно false. Овој метод се користи за контрола на логиката во View (на пример, да се прикажат одредени функционалности само за студенти).
     32
     33**Метод ViewMentors(...)** - ActionResult метод кој враќа View со листа на ментори и поддржува повеќе параметри за пребарување и филтрирање: име, презиме, предмет, тема и достапност.
     34
     35Се креира нов ApplicationDbContext и се вчитуваат сите ментори заедно со нивните предмети (Subjects) и теми (Topics) користејќи Include. Податоците од ентитетот Mentor се мапираат во EditMentorModel (ViewModel). Потоа следуваат условни филтри:
     36- Ако е внесено име, се проверува дали името или презимето на менторот го содржи внесениот текст (без разлика на големи/мали букви).
     37- Ако е внесено презиме, се филтрира само по презиме.
     38- Ако е внесен предмет, се проверува дали некој од предметите на менторот го содржи внесениот текст.
     39- Ако е внесена тема, се проверува истото за темите.
     40- Ако е внесена вредност за available, таа се парсира во bool и се филтрираат само ментори со соодветна достапност.
     41
     42Во ViewBag.IsStudent се сместува резултатот од методот IsStudent() за да може View-то да знае дали корисникот е студент. Потоа, View-то се враќа со филтрираната листа на ментори.
     43
     44По примена на филтрирање според предмет, ги имаме следните резултати:
     45
    2146[[Image("пребарување2 (1).png")]]
     47
     48Корисникот може да филтрира според повеќе критериуми одеднаш.
    2249
    2350----