public bool CheckSignature([FromBody] SignatureDTO aSig) { SignatureData lSignatureData = SignatureUtils.SignatureUtils.GetSignatureFromBase64String(aSig.Signature, aSig.Email); Signature lSigWithCharacteristics = SignatureUtils.SignatureUtils.CalculateCharacteristics(lSignatureData.Signature); lSigWithCharacteristics = SignatureUtils.SignatureUtils.StandardizeSignature(lSigWithCharacteristics); var lDirectory = "d:\\Signatures\\" + lSignatureData.Email + "\\"; //Get all signatures from folder. True flag indicates, that all characteristics we are working with are stored in the file, these will be loaded too List <Signature> lSignatures = SignatureFileUtils.GetAllSignaturesFromFolder(lDirectory, true); DTWConfiguration lDTWConfig = new DTWConfiguration() .UseXY() .UseX1Y1() .UseX2Y2() .UseForce() .UseForce1() .UsePathVelocity(); //Check for NaN values at Force and Force1 characrteristics. SignatureUtils.SignatureUtils.CheckForNaN(lSigWithCharacteristics, ref lDTWConfig); return(SignatureQualityEvaluation.Authenticate(lDirectory, lSigWithCharacteristics, lDTWConfig, 0.05)); }
public int SaveSignature([FromBody] SignatureDTO aSig) { //Get signature from the Base64Encoded string SignatureData lSignatureData = SignatureUtils.SignatureUtils.GetSignatureFromBase64String(aSig.Signature, aSig.Email); var lDirectory = "d:\\Signatures\\" + lSignatureData.Email + "\\"; if (!System.IO.Directory.Exists(lDirectory)) { System.IO.Directory.CreateDirectory(lDirectory); } var fileName = lDirectory + DateTime.Now.Ticks.ToString() + ".csv"; var lFeaturesFileName = lDirectory + "\\SignatureFeatures\\" + "SignatureFeatures.csv"; //Calculate characteristics of the received signature and standardize it Signature lSigWithCharacteristics = SignatureUtils.SignatureUtils.CalculateCharacteristics(lSignatureData.Signature); lSigWithCharacteristics = SignatureUtils.SignatureUtils.StandardizeSignature(lSigWithCharacteristics); //Create DTW configuration for the quality evaluation DTWConfiguration lDTWConfig = new DTWConfiguration() .UseXY() .UseX1Y1(); //Check the quality of the signature. If it is a poor quality signature, request it once again bool lResult = SignatureQualityEvaluation.CheckQuality(lDirectory, lSigWithCharacteristics, lDTWConfig); if (lResult) { //Save function based data to csv file SignatureFileUtils.SaveSignatureWithCharacteristicsToFile(lSigWithCharacteristics, fileName); try { //Save feature based data to csv file SignatureFeatures lFEatures = FeatureCalculator.CalculateFeatures(lSigWithCharacteristics); if (!System.IO.Directory.Exists(lDirectory + "\\SignatureFeatures\\")) { System.IO.Directory.CreateDirectory(lDirectory + "\\SignatureFeatures\\"); } SignatureFileUtils.SaveFeatureSetToFile(lFEatures, lFeaturesFileName); } catch (Exception ex) { //If an error occurs, do nothing //An error can occur in case of the pressure related features, beacause some devices don't return the pressure value } return(1); } else { return(0); } }
public void tblSignature_insert(SignatureDTO dt) { string sql = "INSERT INTO tblSignature(UserId, SignatureContent, SignatureName) " + "VALUES(@UserId, @SignatureContent, @SignatureName)"; SqlCommand cmd = new SqlCommand(sql, ConnectionData._MyConnection); cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@UserId", SqlDbType.Int).Value = dt.userId; cmd.Parameters.Add("@SignatureContent", SqlDbType.NVarChar).Value = dt.signatureContent; cmd.Parameters.Add("@SignatureName", SqlDbType.NVarChar).Value = dt.SignatureName; cmd.ExecuteNonQuery(); cmd.Dispose(); }
public void tblSignature_Update(SignatureDTO dt) { string sql = "UPDATE tblSignature SET " + "SignatureContent = @SignatureContent, "+ "SignatureName = @SignatureName, " + "UserId = @UserId " + " WHERE id = @id"; SqlCommand cmd = new SqlCommand(sql, ConnectionData._MyConnection); cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@id", SqlDbType.Int).Value = dt.id; cmd.Parameters.Add("@UserId", SqlDbType.Int).Value = dt.userId; cmd.Parameters.Add("@SignatureContent", SqlDbType.NVarChar).Value = dt.signatureContent; cmd.Parameters.Add("@SignatureName", SqlDbType.NVarChar).Value = dt.SignatureName; cmd.ExecuteNonQuery(); cmd.Dispose(); }
public void tblSignature_Update(SignatureDTO dt) { sign.tblSignature_Update(dt); }
public void tblSignature_insert(SignatureDTO dt) { sign.tblSignature_insert(dt); }
private SignatureDTO getSignatureDTO() { SignatureDTO sign = new SignatureDTO(); UserLoginDTO userLogin = getUserLogin(); if (userLogin != null) { sign.userId = userLogin.UserId; sign.signatureContent = txtBody.Text; sign.SignatureName = txtSignatureName.Text; if (hdfId.Value != null&&hdfId.Value!="") sign.id = int.Parse(hdfId.Value); } else { Response.Redirect("login.aspx"); } return sign; }