@startuml
autonumber
actor CenterCoordinator as CC

participant NumberFullyVaccinatedUI as UI
participant NumberFullyVaccinatedController as CTRL
participant ValidateDates as VD
participant ConvertToFile as CF
participant NumberFullyVaccinatedStore as NFVS

activate CC
CC ->UI: Asks for the number of users fully vaccinated
activate UI
UI->CC:Request a time interval of two dates.
deactivate UI

CC->UI:Types requested data
activate UI
UI->CTRL: ValidateInterval(firstDay,lastDay)
activate CTRL
CTRL->VD: ValidateInterval(firstDay,lastDay)
activate VD
VD->VD: ValidateDates(firstDay,lastDay)
activate VD
deactivate VD
VD->VD: ValidateInterval(firstDay,lastDay)
activate VD
deactivate VD
UI-->CC: Request confirmation
deactivate VD
deactivate CTRL
deactivate UI
CC->UI:Confirms the interval
activate UI
UI->CTRL: ConvertNumberOfFullyVaccinatedToFile(firstDay,lastDay)
activate CTRL
CTRL->CF: ConvertNumberOfFullyVaccinatedToFile(firstDay,lastDay)
activate CF
CF->NFVS: numUsersFullyVaccinated=getListOfFullyVaccinated(firstDay,lastDay)
activate NFVS
deactivate NFVS
CF->CF: ConvertToFile(firstDay,lastDay,numUsersFullyVaccinated)

UI-->CC:Informs operation success
deactivate CF
deactivate CTRL
deactivate UI

@enduml