public static async Task HeartBeat(string cardCode) { try { var time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var signData = cardCode + time + _Key; var sign = Sign.Compute(signData).ToUpper(); var baseUri = BankCardConfiguration.GetAppSettings("UAAPIUrl") + $"hydra/api/card_online_heart_beat/?code={cardCode}&time={HttpUtility.UrlEncode(time)}&sign={sign}"; using (var client = new HttpClient()) { Task <HttpResponseMessage> response = client.GetAsync(new Uri(baseUri)); response.Wait(); var responseJson = await response.Result.Content.ReadAsStringAsync(); if (response.Result.IsSuccessStatusCode) { } } } catch (Exception ex) { throw ex; } }
public static async Task CollectionHistory(string cardCode, decimal balance, List <TransactionRecord> transactions, List <TempTransRecord> tempBankRecord) { var baseUri = BankCardConfiguration.GetAppSettings("UAAPIUrl") + $"hydra/api/upload_bankcard_new_record/"; try { var transactionsFiltered = transactions.Distinct(new TransactionRecordEqualityComparer()).ToList(); if (transactionsFiltered.Count == 0) { return; } using (var client = new HttpClient()) { transactionsFiltered = CompareGetOrderID(transactionsFiltered, tempBankRecord, balance); var balanceFormat = balance.ToString("#,##0.00"); var time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var signData = balanceFormat + cardCode + time + _Key; var sign = Sign.Compute(signData); Transaction transaction = new Transaction { code = cardCode, balance = balanceFormat, time = time, sign = sign.ToUpper(), records = transactionsFiltered }; var jsonString = JsonConvert.SerializeObject(transaction); var content = new StringContent(jsonString, Encoding.UTF8, "application/json"); Task <HttpResponseMessage> response = client.PostAsync(baseUri, content); response.Wait(); var responseJson = await response.Result.Content.ReadAsStringAsync(); if (response.Result.IsSuccessStatusCode) { } else { throw new Exception(responseJson); } } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); throw ex; } }