Пример #1
0
 public void Execute()
 {
     UserFace.LockUI();
     foreach (var task in Commands)
     {
     }
     UserFace.UnlockUI();
 }
Пример #2
0
        public void LoadContent(ContentManager Content, Viewport view)
        {
            camera        = new Camera(view);
            camera.active = true;
            userFace      = new UserFace();
            userFace.LoadContent(Content, view);

            create = new Button(ResManager.create, new Vector2(500, 200));
            //create.SetPos(500, 200);
            create.SetRect(150, 70);
            create.SetColor(Color.Blue);
        }
Пример #3
0
        public async Task <IActionResult> Post(FaceServiceModel request)
        {
            try
            {
                //PROCESSANDO
                MessageService.SendProcessingMessage(Guid.NewGuid().ToString());
                //ANALISA IMAGEM
                var faceGuid = await FacialService.UpsertBase64(request.face);

                //PEGA USUARIO
                var imageFace = UserStaticContext.UserFace.Where(x => x.faceId == faceGuid.Value.ToString()).FirstOrDefault();

                //PUBLICAR RESTRICOES
                if (imageFace != null) //JA TEM CADASTRADO
                {
                    UserFood user = db.UserFood.Where(x => x.codUserFood == imageFace.codUserFoodFK).FirstOrDefault();
                    if (user != null)
                    {
                        var restricoes = user.userFoodRestriction;
                        MessageService.SendPersistedIdMessage(user);
                    }
                }
                else //NÂO TEM CADASTRADO
                {
                    var newUser = new UserFood()
                    {
                        nameUser = "******"
                    };

                    db.UserFood.Add(newUser);
                    db.SaveChanges();

                    var userFace = new UserFace()
                    {
                        codUserFoodFK = newUser.codUserFood,
                        faceId        = faceGuid.ToString()
                    };

                    db.UserFace.Add(userFace);
                    db.SaveChanges();

                    MessageService.SendNewIdMessage(newUser);
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Пример #4
0
        public async Task <IActionResult> Post([FromBody] UserFace request)
        {
            try
            {
                var user = await _faceService.DetectFaceAsync(request.Face);

                var response = _mapper.Map <UserProcess>(user);
                return(Ok(response));
            }
            catch (Exception ex)
            {
                await _serviceBus.SendLogAsync($"Não foi possível detectar a face do usuário enviado! ex: {ex}");

                return(BadRequest());
            }
        }
Пример #5
0
        public List <UserFace> GetLeaderboardUsernames(int leagueId)
        {
            List <UserFace> users          = new List <UserFace>();
            string          getUsernameSql = @"select users.id, users.firstname, users.lastname, users.username from users join users_leagues on users_leagues.userId = users.id join leagues on leagues.id = users_leagues.leagueId where leagues.id = @leagueID";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open(); SqlCommand cmd = new SqlCommand(getUsernameSql, conn);

                cmd.Parameters.AddWithValue("@leagueID", leagueId);

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    UserFace user = AssembleUserFace(reader);
                    users.Add(user);
                }
                conn.Close();
            }
            return(users);
        }
Пример #6
0
        public IActionResult PostUserFace(IFormFile file, string token, DateTime datetime)
        {
            var userid = _utils.VerifyRequest(token);

            if (userid is null)
            {
                return(StatusCode(403));
            }
            //保存图片
            var filePath = Path.Combine("Photos",
                                        file.FileName);

            using (var stream = System.IO.File.Create(filePath))
            {
                file.CopyTo(stream);
            }
            //解析返回结果
            var res  = _services.DetectFace(filePath);
            var data = res["faces"][0];
            //判断笑脸
            int smile;

            if (float.Parse(data["attributes"]["smile"]["threshold"].ToString()) <= float.Parse(data["attributes"]["smile"]["value"].ToString()))
            {
                smile = 1;
            }
            else
            {
                smile = 0;
            }
            //判断性别
            int gender;

            if (data["attributes"]["gender"]["value"].ToString().Equals("Female"))
            {
                gender = 0;
            }
            else
            {
                gender = 1;
            }
            //组合颜值分数
            int    MaleScore   = data["attributes"]["beauty"].Value <int>("male_score");
            int    FemaleScore = data["attributes"]["beauty"].Value <int>("female_score");
            string beauty      = MaleScore + "/" + FemaleScore;
            //情绪排序,找出前二
            var    EmotionDict = data["attributes"]["emotion"].ToObject <Dictionary <string, float> >();
            string emotion     = String.Empty;
            var    Emotion1    = EmotionDict.OrderByDescending(x => x.Value).First().Key + ":" + EmotionDict.OrderByDescending(x => x.Value).First().Value;
            var    Emotion2    = EmotionDict.OrderByDescending(x => x.Value).Skip(1).First().Key + ":" + EmotionDict.OrderByDescending(x => x.Value).Skip(1).First().Value;

            emotion = Emotion1 + "/" + Emotion2;
            //组合皮肤状态
            var heath       = data["attributes"]["skinstatus"].Value <string>("health");
            var stain       = data["attributes"]["skinstatus"].Value <string>("stain");
            var acne        = data["attributes"]["skinstatus"].Value <string>("acne");
            var dark_circle = data["attributes"]["skinstatus"].Value <string>("dark_circle");
            var skinstatus  = heath + "/" + stain + "/" + acne + "/" + dark_circle;
            //存储
            var face = new UserFace();

            face.age        = data["attributes"]["age"].Value <int>("value");
            face.emotion    = emotion;
            face.smile      = smile;
            face.gender     = gender;
            face.filepath   = filePath;
            face.beauty     = beauty;
            face.facetoken  = data.Value <string>("face_token");
            face.skinstatus = skinstatus;
            face.datetime   = datetime;
            face.userid     = int.Parse(userid);
            _context.UserFace.Add(face);
            _context.SaveChanges();

            return(StatusCode(201));
        }