/// <summary>
        /// Maps the visitor personal detail.
        /// </summary>
        /// <param name="person">The person.</param>
        /// <param name="visitorPersonalDetailList">The visitor personal detail list.</param>
        /// <param name="visitorAlerts">The visitor alerts.</param>
        /// <param name="visitorAlertMessages">The visitor alert messages.</param>
        /// <param name="visitorPersonMessages">The visitor person messages.</param>
        /// <param name="visitorMessages">The visitor messages.</param>
        /// <param name="visitorAccessCards">The visitor access cards.</param>
        private static void MapVisitorDetail(Person person, VisitorCollection visitorPersonalDetailList, IDictionary<string, AlertCollection> visitorAlerts, IDictionary<string, Collection<Message>> visitorAlertMessages, IDictionary<string, PersonMessageCollection> visitorPersonMessages, IDictionary<string, Collection<Message>> visitorMessages, IDictionary<string, AccessCardCollection> visitorAccessCards)
        {
            person.Visitors.Iterate(a =>
            {
                var visitorPersonalDetail = visitorPersonalDetailList.Where(b => a.VisitorId.Equals(b.VisitorId)).FirstOrDefault();
                if (visitorPersonalDetail != null)
                {
                    a.PersonalDetail = visitorPersonalDetail.PersonalDetail;
                    a.VisitorInfo = visitorPersonalDetail.VisitorInfo;
                }

                var alertCollection = visitorAlerts.ContainsKey(a.VisitorId) ? visitorAlerts[a.VisitorId] : null;
                alertCollection.Iterate(b => b.Message = visitorAlertMessages.ContainsKey(b.AlertId) ? visitorAlertMessages[b.AlertId].FirstOrDefault() : null);
                if (alertCollection != null)
                {
                    a.AssignAlerts(alertCollection);
                }

                var messageCollection = visitorPersonMessages.ContainsKey(a.VisitorId) ? visitorPersonMessages[a.VisitorId] : null;
                messageCollection.Iterate(b => b.Message = visitorMessages.ContainsKey(b.AlertId) ? visitorMessages[b.AlertId].FirstOrDefault() : null);
                if (messageCollection != null)
                {
                    a.AssignMessages(messageCollection);
                }

                var accessCards = visitorAccessCards.ContainsKey(a.VisitorId) ? visitorAccessCards[a.VisitorId] : null;
                if (accessCards != null)
                {
                    a.AssignVisitorAccessCard(accessCards);
                }
            });
        }