@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false

autonumber

'hide footbox
actor "System Administrator" as ADM
participant ":System" as UI
participant ":SystemController" as CTRL
participant ":AgenciesRepository" as  AgenciesRepository
participant ":agency" as agency
participant ":Announcement" as Announcement
participant "announcementMapper:AnnouncementMapper" as AnnouncementMapper
participant ":AnnouncementDTO" as AnnouncementDTO
participant ":ArrayList<announcementDTO> listOfDtos" as listOfDTOS



    activate ADM

        ADM -> UI : Asks to show SystemFilesList

        activate UI

        UI -> CTRL : Gets all the SystemFiles

        activate CTRL

           CTRL --> UI : SystemFiles

           deactivate CTRL

           UI --> ADM : SystemFilesList

deactivate UI


ADM -> UI : Shows selected SystemData
        activate UI

            UI -> listOfDTOS** : create

          loop  while (LegacyData.hasNextLine())

            UI -> CTRL : createAnnouncementDTO

                activate CTRL

                CTRL -> AnnouncementDTO** : create

                activate AnnouncementDTO

                AnnouncementDTO --> CTRL : AnnouncementDTO

                deactivate AnnouncementDTO

                CTRL -> listOfDTOS : addAnnouncementDTO

                end loop

                listOfDTOS --> CTRL : List Of Dtos

                CTRL --> UI : List of Dtos
                deactivate CTRL

                UI -> CTRL : importData
                activate CTRL
                CTRL --> AnnouncementMapper ** : create

                activate AnnouncementMapper

                loop ( for (announcementDTO announcementDTO: listOfDtos))

                AnnouncementMapper -> AnnouncementMapper : getAgency(announcementDTO)
                AnnouncementMapper -> AnnouncementMapper : mapDTOtoAnnouncement(announcementDTO)

                AnnouncementMapper --> agency : addAnnouncement(announcement)
                AnnouncementMapper --> CTRL : Validates the success of the operation

                deactivate AnnouncementMapper

                CTRL --> UI : Show operation success
                deactivate CTRL

                UI --> ADM :Show operation success

                end loop






    deactivate ADM




@enduml