public IActionResult BatchDetails(string id) { id = _dataProtector.UnprotectString(id); ErrorViewModel errorModel = new ErrorViewModel(); GetTransactionRequestBody requestBody = BuildGetTransactionsRequestBody(id); ResponseDetails response = _apiHelper.SendPaymentApiRequest(requestBody); if (response.Success) { GetTransactionResponseBody responseBody = JsonConvert.DeserializeObject <GetTransactionResponseBody> (response.Data.ToString()); if (responseBody.Messages.ResultCode.ToLower() == "ok") { BatchDetailsModel model = new BatchDetailsModel() { SettledTransactions = responseBody.Transactions }; model.SettledTransactions = ProtectTransactionId(model.SettledTransactions); return(View(model)); } else { errorModel.Message = "No records found"; } } else { errorModel.Message = response.Data.ToString(); } return(View("Error", errorModel)); }
internal static async Task <string> ReadSecretFile(string filePath, DataProtector protector) { // Load file content byte[] encrypted; using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.None)) { using (var ms = new MemoryStream()) { int read; byte[] buffer = new byte[16 * 1024]; while ((read = await file.ReadAsync(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, read); } encrypted = ms.ToArray(); } } // Decrypt it return(protector.UnprotectString(encrypted)); }