public async void Run_TokenMetadataTest() { ShowTestOnTerminal("TokenMetadata"); EnrollRequest setupRequest = new EnrollRequest { Pan = "4111111111111111", Test = true, Customer = new Customer { CustomerRef = "TESTCUSTOMER", FirstName = "Test", LastName = "Customer", }, }; output.WriteLine("Setup request: {0}", setupRequest); EnrollResponse setupResponse = await blockchyp.EnrollAsync(setupRequest); output.WriteLine("Setup Response: {0}", setupResponse); TokenMetadataRequest request = new TokenMetadataRequest { Token = setupResponse.Token, }; output.WriteLine("Request: {0}", request); TokenMetadataResponse response = await blockchyp.TokenMetadataAsync(request); output.WriteLine("Response: {0}", response); Assert.True(response.Success, "response.Success"); }
public async void Run_TerminalEnrollTest() { ShowTestOnTerminal("TerminalEnroll"); EnrollRequest request = new EnrollRequest { TerminalName = IntegrationTestConfiguration.Instance.Settings.DefaultTerminalName, Test = true, }; output.WriteLine("Request: {0}", request); EnrollResponse response = await blockchyp.EnrollAsync(request); output.WriteLine("Response: {0}", response); Assert.True(response.Success, "response.Success"); Assert.True(response.Approved, "response.Approved"); Assert.True(response.Test, "response.Test"); Assert.Equal(6, response.AuthCode.Length); Assert.NotEmpty(response.TransactionId); Assert.NotEmpty(response.Timestamp); Assert.NotEmpty(response.TickBlock); Assert.Equal("approved", response.ResponseDescription); Assert.NotEmpty(response.PaymentType); Assert.NotEmpty(response.MaskedPan); Assert.NotEmpty(response.EntryMethod); Assert.NotEmpty(response.Token); }
public IActionResult EnrollStudent(EnrollRequest request) { _service.EnrollStudent(request); var response = new EnrollResponse(); using (SqlConnection con = new SqlConnection("Data Source=db-mssql.pjwstk.edu.pl;Initial Catalog=2019SBD;Integrated Security=True")) using (SqlCommand com = new SqlCommand()) { com.Connection = con; var transac = con.BeginTransaction(); com.CommandText = "select studyName Studies where studyName=@par1"; com.Parameters.AddWithValue("par1", request.Studies); var dr = com.ExecuteReader(); if (!dr.Read()) { transac.Rollback(); Console.WriteLine("Error"); } return(Ok()); } }
public async void Run_UnlinkTokenTest() { ShowTestOnTerminal("UnlinkToken"); EnrollRequest setupRequest = new EnrollRequest { Pan = "4111111111111111", Test = true, Customer = new Customer { CustomerRef = "TESTCUSTOMER", FirstName = "Test", LastName = "Customer", }, }; output.WriteLine("Setup request: {0}", setupRequest); EnrollResponse setupResponse = await blockchyp.EnrollAsync(setupRequest); output.WriteLine("Setup Response: {0}", setupResponse); UnlinkTokenRequest request = new UnlinkTokenRequest { Token = setupResponse.Token, CustomerId = setupResponse.Customer.Id, }; output.WriteLine("Request: {0}", request); Acknowledgement response = await blockchyp.UnlinkTokenAsync(request); output.WriteLine("Response: {0}", response); Assert.True(response.Success, "response.Success"); }
public async void Run_PanEnrollTest() { ShowTestOnTerminal("PanEnroll"); EnrollRequest request = new EnrollRequest { Pan = "4111111111111111", Test = true, Customer = new Customer { CustomerRef = "TESTCUSTOMER", FirstName = "Test", LastName = "Customer", }, }; output.WriteLine("Request: {0}", request); EnrollResponse response = await blockchyp.EnrollAsync(request); output.WriteLine("Response: {0}", response); Assert.True(response.Success, "response.Success"); Assert.True(response.Approved, "response.Approved"); Assert.True(response.Test, "response.Test"); Assert.Equal(6, response.AuthCode.Length); Assert.NotEmpty(response.TransactionId); Assert.NotEmpty(response.Timestamp); Assert.NotEmpty(response.TickBlock); Assert.Equal("approved", response.ResponseDescription); Assert.NotEmpty(response.PaymentType); Assert.NotEmpty(response.MaskedPan); Assert.NotEmpty(response.EntryMethod); Assert.Equal("KEYED", response.EntryMethod); Assert.NotEmpty(response.Token); }
public EnrollResponse EnrollStudent(EnrollRequest request) { EnrollResponse enrollResponse = new EnrollResponse(); using (var client = new SqlConnection("Data Source = db-mssql.pjwstk.edu.pl; Initial Catalog = s16796; Integrated Security = True")) { using (var command = new SqlCommand()) { command.Connection = client; client.Open(); var transaction = client.BeginTransaction(); command.Transaction = transaction; command.CommandText = "Select IdStudy FROM Studies where Name=@name"; command.Parameters.AddWithValue("name", request.Studies); var dr = command.ExecuteReader(); if (!dr.Read()) { dr.Close(); transaction.Rollback(); throw new ArgumentException("No studies found with that name"); } else { enrollResponse.IdStudies = Convert.ToInt32(dr["IdStudy"].ToString()); enrollResponse.Semester = 1; enrollResponse.Studies = request.Studies; } dr.Close(); command.Parameters.Clear(); command.CommandText = "SELECT IdEnrollment, StartDate FROM Enrollment WHERE semester = 1 AND IdStudy = @id order by StartDate desc"; command.Parameters.AddWithValue("id", enrollResponse.IdStudies); dr = command.ExecuteReader(); if (dr.Read()) { enrollResponse.IdEnrollment = Convert.ToInt32(dr["IdEnrollment"].ToString()); enrollResponse.StartDate = Convert.ToDateTime(dr["StartDate"]); } else { //enrollment nie istnieje! dr.Close(); command.CommandText = "INSERT INTO Enrollment(IdEnrollment, Semester, IdStudy, StartDate) OUTPUT Inserted.IdEnrollment VALUES((SELECT MAX(IdEnrollment) FROM Enrollment) + 1, 1, @id, @startdate)"; command.Parameters.AddWithValue("startdate", DateTime.Now); dr = command.ExecuteReader(); dr.Read(); enrollResponse.IdEnrollment = Convert.ToInt32(dr["IdEnrollment"].ToString()); enrollResponse.StartDate = DateTime.Now.Date; } dr.Close(); command.Parameters.Clear(); command.CommandText = "INSERT INTO Student(IndexNumber, FirstName, LastName, BirthDate, IdEnrollment) VALUES(@index, @first, @last, @birth, @enrollment)"; command.Parameters.AddWithValue("index", request.IndexNumber); command.Parameters.AddWithValue("first", request.FirstName); command.Parameters.AddWithValue("last", request.LastName); command.Parameters.AddWithValue("birth", DateTime.ParseExact(request.BirthDate, "dd.MM.yyyy", null)); command.Parameters.AddWithValue("enrollment", enrollResponse.IdEnrollment); try { dr = command.ExecuteReader(); enrollResponse.IndexNumber = request.IndexNumber; } catch (Exception exc) { Console.WriteLine(exc); dr.Close(); transaction.Rollback(); throw new ArgumentException("This index already exists"); } dr.Close(); transaction.Commit(); return(enrollResponse); } } }
public EnrollResponse EnrollStudent(EnrollStudentRequest request) { using var con = new SqlConnection(SetConnection.GetConnection()); using var com = new SqlCommand(); con.Open(); com.Connection = con; var transaction = con.BeginTransaction(); com.Transaction = transaction; com.CommandText = "SELECT s.IdStudy FROM Studies s WHERE s.Name = @Name"; com.Parameters.AddWithValue("Name", request.Name); var dr = com.ExecuteReader(); if (!dr.Read()) { throw new Exception("Podane studia nie istnieją ");; } var idStudy = int.Parse(dr["IdStudy"].ToString()); dr.Close(); com.Parameters.Clear(); com.CommandText = "SELECT * FROM Enrollment enr WHERE enr.Semester = 1 AND enr.IdStudy = @IdStudy"; com.Parameters.AddWithValue("IdStudy", idStudy); dr = com.ExecuteReader(); var enrollResponse = new EnrollResponse(); if (!dr.Read()) { dr.Close(); com.Parameters.Clear(); com.CommandText = @"INSERT INTO Enrollment(IdEnrollment, Semester, StartDate, IdStudy) OUTPUT INSERTED.IdEnrollment, INSERTED.Semester, INSERTED.StartDate, INSERTED.IdStudy VALUES((SELECT MAX(E.IdEnrollment) FROM Enrollment E) + 1, @Semester, @StartDate, @IdStudy);"; com.Parameters.AddWithValue("Semester", 1); com.Parameters.AddWithValue("StartDate", DateTime.Now); com.Parameters.AddWithValue("IdStudy", idStudy); enrollResponse.IdEnrollment = int.Parse(com.ExecuteScalar().ToString()); enrollResponse.Semester = int.Parse(com.Parameters["Semester"].Value.ToString()); enrollResponse.IdStudy = int.Parse(com.Parameters["IdStudy"].Value.ToString()); enrollResponse.StartDate = DateTime.Parse(com.Parameters["StartDate"].Value.ToString()).ToString("yyyy-MM-dd"); } else { enrollResponse.IdEnrollment = int.Parse(dr["IdEnrollment"].ToString()); enrollResponse.Semester = int.Parse(dr["Semester"].ToString()); enrollResponse.IdStudy = int.Parse(dr["IdStudy"].ToString()); enrollResponse.StartDate = DateTime.Parse(dr["StartDate"].ToString()).ToString("yyyy-MM-dd"); } dr.Close(); com.Parameters.Clear(); com.CommandText = "SELECT S.IndexNumber FROM Student S WHERE IndexNumber = @indexNumber"; com.Parameters.AddWithValue("indexNumber", request.IndexNumber); dr = com.ExecuteReader(); if (dr.Read()) { throw new Exception("Numer indeksu nie jest unikalny");; } dr.Close(); com.Parameters.Clear(); com.CommandText = @"INSERT INTO Student(IndexNumber, FirstName, LastName, BirthDate, IdEnrollment) VALUES (@IndexNumber, @FirstName, @LastName, @BirthDate, @IdEnrollment)"; com.Parameters.AddWithValue("IndexNumber", request.IndexNumber); com.Parameters.AddWithValue("FirstName", request.FirstName); com.Parameters.AddWithValue("LastName", request.LastName); com.Parameters.AddWithValue("BirthDate", request.BirthDate); com.Parameters.AddWithValue("IdEnrollment", enrollResponse.IdEnrollment); com.ExecuteNonQuery(); transaction.Commit(); return(enrollResponse); }
public async Task <EnrollResponse> EnrollChild(FPCaptureRs vm) { EnrollResponse returnModel = new EnrollResponse(); EnrollRequest request = new EnrollRequest(); request.Id = Guid.NewGuid(); request.FingerprintRecord = new DsdAfis.Core.FingerBiometrics.FingerprintRecord(); request.FingerprintRecord.Id = 0; request.FingerprintRecord.Active = false; request.FingerprintRecord.DateTime = DateTime.Now; request.FingerprintRecord.FingerprintSet = new DsdAfis.Core.FingerBiometrics.FingerprintSet(); request.FingerprintRecord.FingerprintSet.Dpi = 500; request.FingerprintRecord.FingerprintSet.ImageEncoding = "WSQ"; request.FingerprintRecord.FingerprintSet.ImageHeight = 512; request.FingerprintRecord.FingerprintSet.ImageWidth = 512; List <Fingerprint> fingers = new List <Fingerprint>(); Fingerprint blankFinger = null; fingers.Add(blankFinger); foreach (Finger f in vm.Fingers) { if (f.Sequence > 0) { Fingerprint finger = new Fingerprint(); switch (f.Name) { case "1": finger.Code = FingerCode.RightThumb; break; case "6": finger.Code = FingerCode.LeftThumb; break; } finger.EncodedImage = f.Print; fingers.Add(finger); } else { fingers.Add(null); } } request.FingerprintRecord.FingerprintSet.Fingerprints = fingers.ToArray(); request.FingerprintRecord.Person = new DsdAfis.Core.Person(); request.FingerprintRecord.Person.Gender = DsdAfis.Core.PersonGender.Unknown; using (var client = new HttpClient()) { //Passing service base url client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiUrl"]); client.DefaultRequestHeaders.Clear(); //Define request data format client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.PostAsync( "api/afis/enroll", new StringContent(request.Json, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { return(MessageBase.Deserialize <EnrollResponse>(response.Content.ReadAsStringAsync().Result)); } else { return(returnModel); } } }
public EnrollResponse EnrollStudent(EnrollRequest request, s16796Context context) { EnrollResponse enrollResponse = new EnrollResponse(); context.Database.BeginTransaction(); var test = context.Student.Where(student => student.IndexNumber.Equals(request.IndexNumber)).FirstOrDefault(); if (test != null) { throw new ArgumentException("Index taken!"); } enrollResponse.IndexNumber = request.IndexNumber; try { enrollResponse.IdStudies = context.Studies.Where(studies => studies.Name.Equals(request.Studies)).Select(studies => studies.IdStudy).FirstOrDefault(); }catch (InvalidOperationException ex) { context.Database.RollbackTransaction(); throw new ArgumentException("No studies found with that name"); } enrollResponse.Semester = 1; enrollResponse.Studies = request.Studies; try { var output = context.Enrollment.Where(enroll => enroll.Semester == 1 && enroll.IdStudy == enrollResponse.IdStudies).Select(enr => new { IdEnrollment = enr.IdEnrollment, StartDate = enr.StartDate }).First(); enrollResponse.IdEnrollment = output.IdEnrollment; enrollResponse.StartDate = output.StartDate; }catch (InvalidOperationException ex) { enrollResponse.IdEnrollment = context.Enrollment.Max(enr => enr.IdEnrollment) + 1; enrollResponse.StartDate = DateTime.Now.Date; var enrollmentadd = new Enrollment() { IdEnrollment = enrollResponse.IdEnrollment, Semester = 1, IdStudy = enrollResponse.IdStudies, StartDate = enrollResponse.StartDate }; context.Enrollment.Add(enrollmentadd); } var studentsalt = GetSalt(32); var nowystudent = new Student() { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = DateTime.ParseExact(request.BirthDate, "dd.MM.yyyy", null), IdEnrollment = enrollResponse.IdEnrollment, Password = PasswordHasherService.GenerateSaltedHash(request.Password, studentsalt), Salt = studentsalt }; context.Student.Add(nowystudent); context.SaveChanges(); context.Database.CommitTransaction(); return(enrollResponse); }