private static TrafficCitation convertCitationDoc(TrafficCitationDoc citationDoc)
        {
            var citation = new TrafficCitation();

            citation.id = citationDoc.Id;
            citation.CitationTimeDate = DateTime.ParseExact(citationDoc.CitationTimeDate, Function.DateFormatForPart(DateOutputPart.ISO), CultureInfo.CurrentCulture, DateTimeStyles.AssumeUniversal);
            citation.FirstName        = citationDoc.FirstName;
            citation.LastName         = citationDoc.LastName;
            citation.DOB                   = citationDoc.DOB;
            citation.HomeAddress           = citationDoc.HomeAddress;
            citation.CitationStreetAddress = citationDoc.CitationStreetAddress;
            citation.CitationCity          = citationDoc.CitationCity;
            var posX = citationDoc.CitationPosX;
            var posY = citationDoc.CitationPosY;
            var posZ = citationDoc.CitationPosZ;

            citation.CitationPos    = new Vector3(posX, posY, posZ);
            citation.VehicleType    = citationDoc.VehicleType == null ? String.Empty : citationDoc.VehicleType;
            citation.VehicleModel   = citationDoc.VehicleModel == null ? String.Empty : citationDoc.VehicleModel;
            citation.VehicleTag     = citationDoc.VehicleTag == null ? String.Empty : citationDoc.VehicleTag;
            citation.VehicleColor   = citationDoc.VehicleColor == null ? String.Empty : citationDoc.VehicleColor;
            citation.CitationReason = citationDoc.CitationReason;
            citation.CitationAmount = citationDoc.CitationAmount;
            citation.Details        = citationDoc.Details == null ? String.Empty : citationDoc.Details;
            citation.IsArrestable   = citationDoc.IsArrestable;

            return(citation);
        }
        private static void updateTrafficCitation(TrafficCitation citation)
        {
            string pedHash = citation.FirstName + citation.LastName + citation.DOB;
            List <TrafficCitationDoc> citationDocs;

            if (Globals.Store.trafficCitationDict.TryGetValue(pedHash, out citationDocs))
            {
                TrafficCitationDoc citationDoc = citationDocs.Find(x => x.Id == citation.id);
                if (citationDoc != null)
                {
                    citationDoc.CitationTimeDate = citation.CitationTimeDate.ToString(Function.DateFormatForPart(DateOutputPart.ISO));
                    citationDoc.FirstName        = citation.FirstName;
                    citationDoc.LastName         = citation.LastName;
                    citationDoc.DOB                   = citation.DOB;
                    citationDoc.HomeAddress           = citation.HomeAddress;
                    citationDoc.CitationStreetAddress = citation.CitationStreetAddress;
                    citationDoc.CitationCity          = citation.CitationCity;
                    citationDoc.CitationPosX          = (float)citation.CitationPosX;
                    citationDoc.CitationPosY          = (float)citation.CitationPosY;
                    citationDoc.CitationPosZ          = (float)citation.CitationPosZ;
                    citationDoc.VehicleType           = citation.VehicleType;
                    citationDoc.VehicleModel          = citation.VehicleModel;
                    citationDoc.VehicleTag            = citation.VehicleTag;
                    citationDoc.VehicleColor          = citation.VehicleColor;
                    citationDoc.CitationReason        = citation.CitationReason;
                    citationDoc.CitationAmount        = citation.CitationAmount;
                    citationDoc.Details               = citation.Details;
                    citationDoc.IsArrestable          = citation.IsArrestable;
                }
            }
        }
        private static void insertTrafficCitation(TrafficCitation citation)
        {
            var citationDoc = new TrafficCitationDoc
            {
                Id = citation.id,
                CitationTimeDate = citation.CitationTimeDate.ToString(Function.DateFormatForPart(DateOutputPart.ISO)),
                FirstName        = citation.FirstName,
                LastName         = citation.LastName,
                DOB                   = citation.DOB,
                HomeAddress           = citation.HomeAddress,
                CitationStreetAddress = citation.CitationStreetAddress,
                CitationCity          = citation.CitationCity,
                CitationPosX          = (float)citation.CitationPosX,
                CitationPosY          = (float)citation.CitationPosY,
                CitationPosZ          = (float)citation.CitationPosZ,
                VehicleType           = citation.VehicleType,
                VehicleModel          = citation.VehicleModel,
                VehicleTag            = citation.VehicleTag,
                VehicleColor          = citation.VehicleColor,
                CitationReason        = citation.CitationReason,
                CitationAmount        = citation.CitationAmount,
                Details               = citation.Details,
                IsArrestable          = citation.IsArrestable
            };

            Globals.Store.citationCollection.Insert(citationDoc);
        }
        private static void insertTrafficCitation(TrafficCitation citation)
        {
            var citationDoc = new TrafficCitationDoc
            {
                Id = citation.id,
                CitationTimeDate = citation.CitationTimeDate.ToString(Function.DateFormatForPart(DateOutputPart.ISO)),
                FirstName        = citation.FirstName,
                LastName         = citation.LastName,
                DOB                   = citation.DOB,
                HomeAddress           = citation.HomeAddress,
                CitationStreetAddress = citation.CitationStreetAddress,
                CitationCity          = citation.CitationCity,
                CitationPosX          = (float)citation.CitationPosX,
                CitationPosY          = (float)citation.CitationPosY,
                CitationPosZ          = (float)citation.CitationPosZ,
                VehicleType           = citation.VehicleType,
                VehicleModel          = citation.VehicleModel,
                VehicleTag            = citation.VehicleTag,
                VehicleColor          = citation.VehicleColor,
                CitationReason        = citation.CitationReason,
                CitationAmount        = citation.CitationAmount,
                Details               = citation.Details,
                IsArrestable          = citation.IsArrestable
            };

            string pedHash = citation.FirstName + citation.LastName + citation.DOB;
            List <TrafficCitationDoc> citationDocs;

            if (!Globals.Store.trafficCitationDict.TryGetValue(pedHash, out citationDocs))
            {
                citationDocs = new List <TrafficCitationDoc>();
                Globals.Store.trafficCitationDict.Add(pedHash, citationDocs);
                Function.Log("Adding Citation for ped hash=" + pedHash);
            }
            citationDocs.Add(citationDoc);
        }