| | 124 | Пораките за контакт и мислења стигаат до менторот во неговиот Inbox, кој е имплементиран на следниот начин: |
| | 125 | |
| | 126 | [[Image(inboxkod1.png)]] |
| | 127 | [[Image(inboxkod2.png)]] |
| | 128 | |
| | 129 | Овој метод прикажува заедничко сандаче (inbox) за студентите и менторите и е достапен само за најавени корисници ([Authorize]). |
| | 130 | |
| | 131 | Прво се утврдува дали тековниот корисник е ментор или студент и тие информации се запишуваат во InboxCombinedViewModel. |
| | 132 | |
| | 133 | Ако корисникот е ментор, се вчитуваат сите контакт-барања (MentorContacts) наменети за него, и сите мислења (Opinions) кои се однесуваат на него. Двата типа на барања се мапираат во заеднички DTO (RequestItemDto), па резултатите се спојуваат во едно сандаче и се сортираат по датум. |
| | 134 | |
| | 135 | Ако корисникот е студент, се вчитуваат сите пораки испратени до него од ментори, па пораките се сортираат по датум. |
| | 136 | |
| | 137 | На крај се враќа View со целосниот ViewModel. |
| | 138 | |
| | 139 | Притоа, имам и имплементација за прикажување на нотификации кон корисникот: |
| | 140 | |
| | 141 | [[Image(getnotif1.png)]] |
| | 142 | [[Image(getnotif2.png)]] |
| | 143 | [[Image(getnotif3.png)]] |
| | 144 | |
| | 145 | Овој метод враќа нотификации за тековниот корисник во JSON формат и е достапен само за најавени корисници, бидејќи е тесно поврзан со сандачето за пораки. |
| | 146 | |
| | 147 | Привремено се исклучуваат proxy и lazy loading механизмите на Entity Framework за да се избегнат проблеми со JSON серијализација. |
| | 148 | |
| | 149 | Ако корисникот е ментор, се вчитуваат најновите контакт барања и мислења со статус Pending, па резултатите се комбинираат и се враќаат како нотификации. |
| | 150 | |
| | 151 | Ако корисникот е студент, се вчитуваат сите непрочитани пораки од ментори и се враќа листа со нотификации како и кај менторите. |
| | 152 | |
| | 153 | Методот враќа и информација за улогата на корисникот и бројот на нотификации. |
| | 154 | |