public async Task AcceptStatusAsync()

in src/Services/Infection/Infection.WebApi/Services/InfectionService.cs [146:175]


        public async Task<OperationResult> AcceptStatusAsync(string ownerToken, AcceptRequest acceptRequest)
        {
            AcceptChangeResponse statusChangeResponse =
                statusChangeRepository.TryAcceptChangeRequest(acceptRequest.MedicalCode, expirationPeriodInHours);

            switch (statusChangeResponse.Result)
            {
                case AcceptChangeResult.MissingCode:
                case AcceptChangeResult.ReusedCode:
                    return OperationResult.CreateInstance(StatusCodes.Status404NotFound, "Medical code not found or already taken.");
                case AcceptChangeResult.ExpiredCode:
                    return OperationResult.CreateInstance(StatusCodes.Status406NotAcceptable, "Medical code is expired.");
            }

            // Try upload all meetings to blob
            await blobStorageService.UploadMeetingsToContainer(ownerToken, acceptRequest);

            // Mark the change request as accepted
            var userStatus = new UserStateStatus
            {
                UserToken = ownerToken,
                StatusId = statusChangeResponse.StatusId,
                StatusChangedOn = statusChangeResponse.StatusChangedOn
            };

            // Update user status
            userRepository.SetUserStatus(userStatus);

            return OperationResult.CreateInstance(StatusCodes.Status200OK);
        }