void loadDetails() { String query = "SELECT tbl_transactiondetails.PID, tbl_products.PName, tbl_transactiondetails.productQuantity, tbl_transactiondetails.productSubtotal FROM tbl_transactiondetails INNER JOIN tbl_products WHERE tbl_products.PID = tbl_transactiondetails.PID AND tbl_transactiondetails.transactionID = @transactionID"; MySqlConnection databaseConnection = new MySqlConnection(connectionString); MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); commandDatabase.CommandTimeout = 60; MySqlDataReader reader; commandDatabase.Parameters.AddWithValue("@transactionID", Convert.ToInt16(tbTransId.Text)); try { databaseConnection.Open(); reader = commandDatabase.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { TransactionDetailsModel tmp = new TransactionDetailsModel { productID = reader.GetInt16("PID"), productName = reader.GetString("PName"), productQuantity = reader.GetInt16("productQuantity"), productSubtotal = reader.GetDouble("productSubtotal") }; lvTransactionDetails.Items.Add(tmp); } } }catch (Exception ex) { MessageBox.Show(ex.Message); } }
public IActionResult Transaction(string transactionId) { ViewBag.Features = settings.Features; ViewBag.Setup = settings.Setup; ViewBag.Chain = chainSettings; ViewBag.BlockchainHeight = stats.SyncBlockIndex; TransactionDetailsModel trx = indexService.GetTransaction(transactionId); return(View(trx)); }
public async Task <IActionResult> Transaction([FromRoute] string id) { var incomingTransactions = await _transactionsManager.GetIncomingTransactionsAsync(); var outgoingTransactions = await _transactionsManager.GetOutgoingTransactionsAsync(); Transaction transaction; TransactionDetailsModel model = new TransactionDetailsModel(); if (incomingTransactions.Any(x => x.Id == id)) { transaction = incomingTransactions.Single(x => x.Id == id); model.TransactionType = "Incoming Transaction"; } else if (outgoingTransactions.Any(x => x.Id == id)) { transaction = outgoingTransactions.Single(x => x.Id == id); model.TransactionType = "Outgoing Transaction"; } else { return(View(null)); } model.CreationDateTime = transaction.CreationDateTime; model.Amount = transaction.Amount; model.Asset = transaction.Asset.ToString(); model.OriginatorVaan = transaction.OriginatorVaan; model.OriginatorFullName = transaction.OriginatorFullName; model.OriginatorPostalAddressBuilding = transaction.OriginatorPostalAddress.Building; model.OriginatorPostalAddressCountry = transaction.OriginatorPostalAddress.Country.Name; model.OriginatorPostalAddressStreet = transaction.OriginatorPostalAddress.Street; model.OriginatorPostalAddressTown = transaction.OriginatorPostalAddress.Town; model.OriginatorPostalAddressAddressLine = transaction.OriginatorPostalAddress.AddressLine; model.OriginatorPostalAddressPostCode = transaction.OriginatorPostalAddress.PostCode; model.StatusStringified = Stringify(transaction.Status); model.SessionId = transaction.SessionId; model.Id = transaction.Id; model.BeneficiaryVaan = transaction.BeneficiaryVaan; model.BeneficiaryFullName = transaction.BeneficiaryFullName; model.SendingAddress = transaction.SendingAddress; model.DestinationAddress = transaction.DestinationAddress; model.TransactionHash = transaction.TransactionHash; model.OriginatorPlaceOfBirthCountry = transaction.OriginatorPlaceOfBirth.Country.Name; model.OriginatorPlaceOfBirthDate = transaction.OriginatorPlaceOfBirth.Date; model.OriginatorPlaceOfBirthTown = transaction.OriginatorPlaceOfBirth.Town; return(View(model)); }
public IActionResult Transaction(string transactionId) { ViewBag.Features = settings.Features; ViewBag.Setup = settings.Setup; ViewBag.Chain = chainSettings; ViewBag.BlockchainHeight = stats.SyncBlockIndex; TransactionDetailsModel trx = indexService.GetTransaction(transactionId); if (trx != null && trx.TransactionId == null) { return(RedirectToAction("BlockHash", new { hash = transactionId })); } return(View(trx)); }
public async Task <IActionResult> TransactionDetails([FromBody] TransactionDetailsModel transaction) { if (!ModelState.IsValid) { return(Ok(new FailureModel { ResponseCode = "90", Message = "Bad request" })); } string path = "paelyt/PowerTransact/GetTransactionDetails"; string refNumber = _context.Transactions.Where(x => x.reference == transaction.refNumber).Select(x => x.refNumber).FirstOrDefault(); var Transaction = new TransactionDetailsRequestModel { amount = transaction.amount, MerchantFK = transaction.MerchantFK, refNumber = refNumber, hashValue = Utilities.GenerateHash(config.Value.AgentId + config.Value.AgentKey + refNumber + transaction.amount) }; var stringContent = new StringContent(JsonConvert.SerializeObject(Transaction), Encoding.UTF8, "application/json"); var SId = HttpContext.Session.GetString("SessionId"); if (SId == null) { SId = await Utilities.GetSessionId(config); HttpContext.Session.SetString("SessionId", SId); } var resp = await Utilities.MakeCallPost(path, config, stringContent, SId); var res = JsonConvert.DeserializeObject <BuyPowerResponseModel>(await resp.Content.ReadAsStringAsync()); res.refNumber = transaction.refNumber; if (res.respCode != "00") { var TransLocal = _context.Transactions.Where(x => x.reference == transaction.refNumber).FirstOrDefault(); if (TransLocal != null) { return(Ok(new SuccessModel { Message = res.respDescription, ResponseCode = "00", Data = TransLocal })); } } return(Ok(new SuccessModel { Message = res.respDescription, ResponseCode = "00", Data = res })); }
public IActionResult Transaction(string transactionId) { ViewBag.Features = settings.Features; ViewBag.Setup = settings.Setup; ViewBag.Chain = chainSettings; ViewBag.BlockchainHeight = stats.SyncBlockIndex; TransactionDetailsModel trx = indexService.GetTransaction(transactionId); if (trx != null && trx.TransactionId == null) { return(RedirectToAction("BlockHash", new { hash = transactionId })); } if (trx.IsCoinbase) { ViewBag.TransactionType = "Coinbase"; } else if (trx.IsCoinstake && trx.Outputs.Exists(o => o.OutputType == "TX_PUBKEY")) { ViewBag.TransactionType = "Stake Reward"; } // Make a prediction if this is a cold stake activation transaction or a cold stake reward. else if (trx.IsCoinstake && trx.Outputs.Exists(o => o.OutputType == "TX_COLDSTAKE")) { ViewBag.TransactionType = "Cold Stake Reward"; } else if (!trx.IsCoinstake && trx.Outputs.Exists(o => o.OutputType == "TX_COLDSTAKE")) { ViewBag.TransactionType = "Cold Stake Activation"; } // This prediction can be greatly improved when we can parse the script of input, which should clearly show us this is cold stake rewards. else if (!trx.IsCoinstake && !trx.IsCoinbase && trx.Outputs.Count == 1 && trx.Inputs.GroupBy(z => z.InputTransactionId).Any(z => z.Count() > 1)) { ViewBag.transactionType = "Cold Stake Withdraw"; } else { ViewBag.TransactionType = "Normal"; } return(View(trx)); }
public async Task <TransactionDetailsModel> Details(int?id, int user_id) { if (user_id <= 0) { throw new CustomException(404, "Id de usario no válido"); } AccountsUserModel acc = new AccountsUserModel { IdARS = _unitOfWork.Accounts.GetAccountId(user_id, "ARS"), IdUSD = _unitOfWork.Accounts.GetAccountId(user_id, "USD") }; if (acc.IdARS != null && acc.IdUSD != null) { var transaction = _unitOfWork.Transactions.FindTransaction((int)id, (int)acc.IdUSD, (int)acc.IdARS); if (transaction != null) { TransactionDetailsModel tdm = _mapper.Map <TransactionDetailsModel>(transaction); // I ask if its editable to show the field if ((bool)transaction.Category.Editable) { tdm.Editable = true; } else { tdm.Editable = false; } tdm.TransactionLog = _mapper.Map <List <TransactionLogModel> >(await _unitOfWork.TransactionLog.GetByTransactionId(transaction.Id)); return(tdm); } else { throw new CustomException(400, "No se encontró la transacción"); } } else { throw new CustomException(404, "No se encontró alguna de las cuentas del usuario"); } }
public IActionResult Details(string id) { id = _dataProtector.UnprotectString(id); ErrorViewModel errorModel = new ErrorViewModel(); GetTransactionDetailsRequestBody requestBody = BuildGetTransactionDetailsModel(id); ResponseDetails response = _apiHelper.SendPaymentApiRequest(requestBody); if (response.Success) { GetTransactionDetailsResponseBody responseBody = JsonConvert.DeserializeObject <GetTransactionDetailsResponseBody> (response.Data.ToString()); if (responseBody.Messages.ResultCode.ToLower() == "ok") { TransactionDetailsModel model = new TransactionDetailsModel() { Transaction = responseBody.Transaction }; model.Transaction.EncryptedTransactionId = _dataProtector.Protect(model.Transaction.TransId); return(View(model)); } else { errorModel.Message = responseBody.Messages.Message.First().Text; } } else { errorModel.Message = response.Data.ToString(); } return(View("Error", errorModel)); }