コード例 #1
0
        private void HandleEnrollment(Object sender, EventArgs args)
        {
            EnrollDataModel dataModel = null;
            bool            result    = enrollQueue.TryDequeue(out dataModel);

            if (!result)
            {
                return;
            }
            try
            {
                int[] templateIDs = null;
                if (dataModel.userDO.Fingers != null &&
                    dataModel.userDO.Fingers.Where(x => (int)VV.DataObjects.FingerDataObject.FindFinger(x.FingerIndex) == dataModel.fingerIndex).FirstOrDefault() != null)
                {
                    templateIDs = dataModel.userDO.Fingers.Where(x => (int)VV.DataObjects.FingerDataObject.FindFinger(x.FingerIndex) == dataModel.fingerIndex).First().Templates.Select(x => x.Id).ToArray();
                }

                UsersEnrollPostbackModel postbackModel;
                for (int i = 0; i < TEMPLATES_PER_FINGER; i++)
                {
                    Proxy.BioConnectAPI.TemplateObject templateDO = bioConnectAPIProxy.GetTemplateObject(dataModel.readerID, dataModel.authorizedToken, dataModel.enrollQuality);
                    if (templateIDs != null && templateIDs.Length > i)
                    {
                        templateDO.Id = templateIDs[i];
                    }
                    templateDO.UserID      = dataModel.userDO.Id;
                    templateDO.FingerIndex = dataModel.fingerIndex;
                    bioConnectAPIProxy.SaveScannedTemplate(templateDO, dataModel.authorizedToken);

                    postbackModel = new UsersEnrollPostbackModel
                    {
                        ReturnCode     = 200,
                        Base64PNGImage = BitmapImageConverter.GetBase64Representation(BitmapImageConverter.GetTemplateImage(templateDO.Data))
                    };
                    PostbackClient.PostbackClient.EnrollPostback(dataModel.callbackUrl, postbackModel);
                }

                postbackModel = new UsersEnrollPostbackModel
                {
                    ReturnCode = 201
                };
                PostbackClient.PostbackClient.EnrollPostback(dataModel.callbackUrl, postbackModel);
            }
            catch (Exception ex)
            {
                UsersEnrollPostbackModel postbackModel = new UsersEnrollPostbackModel
                {
                    ReturnCode    = 500,
                    ReturnMessage = ex.Message
                };
                var response = PostbackClient.PostbackClient.EnrollPostback(dataModel.callbackUrl, postbackModel);
            }
        }
コード例 #2
0
        public IHttpActionResult Post([FromBody] UsersEnrollPostbackModel model)
        {
            if (model.ReturnCode == 200)
            {
                string base64 = model.Base64PNGImage;

                //BitmapImageConverter.saveBitmapImage(base64);
                BitmapImageConverter.savePNGImage(base64);
            }

            return(Ok());
        }