public async Task <IActionResult> GenerateQrCode([FromQuery] int amount) { int id = Int32.Parse(User.Claims.First(c => c.Type == "UserId").Value); string status = await PayXUtils.PaymentManager.GenerateQr(amount, id); QrResponse qrResponse = JsonConvert.DeserializeObject <QrResponse>(status); return(Ok(qrResponse.Content.Qr_text)); }
public void QrResponse() { var obj = new QrResponse { Amount = 76, AmountChangeable = true, Beneficiary = "Lorum_401", CreatedAt = DateTime.Now, Description = "Lorum_579", Expiration = DateTime.Now, OneOff = false, Payments = null, PurchaseId = "Lorum_700", QrCodeUrl = "Lorum_683", QrId = "Lorum_691", Size = 68, Status = "Lorum_589", UpdatedAt = DateTime.Now }; var deserialized = ConversionTest(obj); Assert.IsNotNull(deserialized); Assert.AreEqual(obj.AmountChangeable, deserialized.AmountChangeable); Assert.AreEqual(obj.Beneficiary, deserialized.Beneficiary); // Check only date and time up to seconds.. Json.NET does not save milliseconds. Assert.AreEqual(obj.CreatedAt.HasValue, deserialized.CreatedAt.HasValue); if (obj.CreatedAt.HasValue && deserialized.CreatedAt.HasValue) { Assert.AreEqual( new DateTime(obj.CreatedAt.Value.Year, obj.CreatedAt.Value.Month, obj.CreatedAt.Value.Day, obj.CreatedAt.Value.Hour, obj.CreatedAt.Value.Minute, obj.CreatedAt.Value.Second), new DateTime(deserialized.CreatedAt.Value.Year, deserialized.CreatedAt.Value.Month, deserialized.CreatedAt.Value.Day, deserialized.CreatedAt.Value.Hour, deserialized.CreatedAt.Value.Minute, deserialized.CreatedAt.Value.Second)); } Assert.AreEqual(obj.Description, deserialized.Description); // Check only date and time up to seconds.. Json.NET does not save milliseconds. Assert.AreEqual(obj.Expiration.HasValue, deserialized.Expiration.HasValue); if (obj.Expiration.HasValue && deserialized.Expiration.HasValue) { Assert.AreEqual( new DateTime(obj.Expiration.Value.Year, obj.Expiration.Value.Month, obj.Expiration.Value.Day, obj.Expiration.Value.Hour, obj.Expiration.Value.Minute, obj.Expiration.Value.Second), new DateTime(deserialized.Expiration.Value.Year, deserialized.Expiration.Value.Month, deserialized.Expiration.Value.Day, deserialized.Expiration.Value.Hour, deserialized.Expiration.Value.Minute, deserialized.Expiration.Value.Second)); } Assert.AreEqual(obj.OneOff, deserialized.OneOff); Assert.AreEqual(obj.PurchaseId, deserialized.PurchaseId); Assert.AreEqual(obj.QrCodeUrl, deserialized.QrCodeUrl); Assert.AreEqual(obj.QrId, deserialized.QrId); Assert.AreEqual(obj.Size, deserialized.Size); Assert.AreEqual(obj.Status, deserialized.Status); // Check only date and time up to seconds.. Json.NET does not save milliseconds. Assert.AreEqual(obj.UpdatedAt.HasValue, deserialized.UpdatedAt.HasValue); if (obj.UpdatedAt.HasValue && deserialized.UpdatedAt.HasValue) { Assert.AreEqual( new DateTime(obj.UpdatedAt.Value.Year, obj.UpdatedAt.Value.Month, obj.UpdatedAt.Value.Day, obj.UpdatedAt.Value.Hour, obj.UpdatedAt.Value.Minute, obj.UpdatedAt.Value.Second), new DateTime(deserialized.UpdatedAt.Value.Year, deserialized.UpdatedAt.Value.Month, deserialized.UpdatedAt.Value.Day, deserialized.UpdatedAt.Value.Hour, deserialized.UpdatedAt.Value.Minute, deserialized.UpdatedAt.Value.Second)); } }