private async void Data_FaceDetectionCompleted(object sender, EventArgs e)
        {
            ImageAnalyzer data = sender as ImageAnalyzer;

            if (data == null)
            {
                return;
            }
            if (data.DetectedEmotion == null)
            {
                await data.DetectEmotionAsync();
            }

            foreach (Face face in data.DetectedFaces)
            {
                Recognition recognizedFace = new Recognition()
                {
                    id        = Guid.NewGuid().ToString(),
                    Timestamp = DateTime.Now,
                    Location  = this.Location,
                    Age       = face.FaceAttributes.Age,
                    Gender    = face.FaceAttributes.Gender,
                    Glasses   = Enum.GetName(typeof(Glasses), face.FaceAttributes.Glasses)
                };

                FillFaceEmotions(recognizedFace, face.FaceRectangle, data.DetectedEmotion);

                this.faceRecognitionQueue.Enqueue(recognizedFace);
            }
        }
        private void FillFaceEmotions(Recognition recognizedFace, FaceRectangle rectangle,
                                      IEnumerable <Microsoft.ProjectOxford.Common.Contract.Emotion> detectedEmotion)
        {
            if (detectedEmotion == null)
            {
                return;
            }

            Microsoft.ProjectOxford.Common.Contract.Emotion emotion =
                detectedEmotion.FirstOrDefault <Microsoft.ProjectOxford.Common.Contract.Emotion>(em => em.FaceRectangle.Left == rectangle.Left &&
                                                                                                 em.FaceRectangle.Top == rectangle.Top &&
                                                                                                 em.FaceRectangle.Width == rectangle.Width &&
                                                                                                 em.FaceRectangle.Height == rectangle.Height);

            if (emotion != null)
            {
                recognizedFace.Anger     = emotion.Scores.Anger;
                recognizedFace.Contempt  = emotion.Scores.Contempt;
                recognizedFace.Disgust   = emotion.Scores.Disgust;
                recognizedFace.Fear      = emotion.Scores.Fear;
                recognizedFace.Happiness = emotion.Scores.Happiness;
                recognizedFace.Neutral   = emotion.Scores.Neutral;
                recognizedFace.Sadness   = emotion.Scores.Sadness;
                recognizedFace.Surprise  = emotion.Scores.Surprise;
            }
        }