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); } }
public IHttpActionResult Post([FromBody] UsersEnrollPostbackModel model) { if (model.ReturnCode == 200) { string base64 = model.Base64PNGImage; //BitmapImageConverter.saveBitmapImage(base64); BitmapImageConverter.savePNGImage(base64); } return(Ok()); }