Exemple #1
0
        public static FacesRec JsonToFacesRec(string txt)
        {
            try
            {
                var jFacesRec = JObject.Parse(txt);
                var rec       = new FacesRec();
                rec.primary_gender  = StringToGender((string)jFacesRec["primary_gender"]);
                rec.majority_gender = StringToGender((string)jFacesRec["majority_gender"]);

                rec.faces = new List <FaceRec>();
                foreach (var jfaces in jFacesRec["objects"])
                {
                    var face = new FaceRec();
                    face.id     = StringToInt((string)jfaces["id"]);
                    face.age    = (int)StringToFloat((string)jfaces["age"]);
                    face.gender = StringToGender((string)jfaces["gender"]);
                    rec.faces.Add(face);
                }

                return(rec);
            }
            catch (Exception ex)
            {
                var newEx = new Exception("Invalid JSON data format returned for 'State'.", ex);
                throw newEx;
            }
        }
Exemple #2
0
        public HttpStatusCode GetFacesNow(out FacesRec faces)
        {
            ValidateIsBound();

            var    client       = new LookRestClient(_device, _port, _username, _password);
            string body         = null;
            var    responseCode = client.GetFaces(out body);

            Trace.TraceInformation("\nRaw JSON data:  {0}", body);

            if (responseCode == HttpStatusCode.OK)
            {
                faces = JsonHelper.JsonToFacesRec(body);
            }
            else
            {
                faces = null;
            }

            return(responseCode);
        }
Exemple #3
0
        public bool GetMostRelevantUserInfo(out int age, out Gender gender)
        {
            ValidateIsBound();
            age    = 0;
            gender = Gender.Unknown;

            var    client       = new LookRestClient(_device, _port, _username, _password);
            string body         = null;
            var    responseCode = client.GetFaces(out body);

            Trace.TraceInformation("\nRaw JSON data:  {0}", body);

            FacesRec rec = JsonHelper.JsonToFacesRec(body);

            if (rec.faces.Count < 1)
            {
                return(false);
            }
            FaceRec primaryFace = null;

            foreach (var item in rec.faces)
            {
                if (primaryFace == null)
                {
                    primaryFace = item;
                    continue;
                }
                if (item.id < primaryFace.id)
                {
                    primaryFace = item;
                }
            }
            age    = primaryFace.age;
            gender = primaryFace.gender;

            return(responseCode == System.Net.HttpStatusCode.OK);
        }