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; } }
public static async Task <DateTime> GetLatestDate(string cardCode) { var baseUri = BankCardConfiguration.GetAppSettings("UAAPIUrl") + $"hydra/api/get_last_trans_info?code={cardCode}"; DateTime?result = null; try { var forcedDateFilename = "ForcedDate"; if (File.Exists(forcedDateFilename)) { var forcedDatedata = File.ReadAllText(forcedDateFilename).Trim(); DateTime forceDate; if (DateTime.TryParse(forcedDatedata, out forceDate)) { return(forceDate); } } 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) { UAHyDraResult <LastTransactionDateDetails> jsonCard = null; jsonCard = JsonConvert.DeserializeObject <UAHyDraResult <LastTransactionDateDetails> >(responseJson); if (jsonCard != null && jsonCard.Status == 0) { result = jsonCard.Data.transaction_time; } else { System.Windows.Forms.MessageBox.Show(jsonCard.Msg); result = null; } } else { result = null; } } } catch (Exception ex) { throw ex; } if (result == null) { // Get Last 7 Days int defaultQueryCollectionDays = int.Parse(BankCardConfiguration.GetAppSettings("DefaultQueryCollectionDays")); result = DateTime.Now.AddDays(defaultQueryCollectionDays); } return((DateTime)result); }
public static async Task <Card> GetCard(string cardCode) { var baseUri = BankCardConfiguration.GetAppSettings("UAAPIUrl") + $"hydra/api/get_bankcard_info?code={cardCode}"; try { 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) { UAHyDraResult <Card> jsonCard = null; jsonCard = JsonConvert.DeserializeObject <UAHyDraResult <Card> >(responseJson); if (jsonCard != null && jsonCard.Status == 0) { jsonCard.Data.AccountNumber = Models.Encryption.Encryption.Decrypt(jsonCard.Data.AccountNumber); if (!String.IsNullOrEmpty(jsonCard.Data.LoginUsername)) { jsonCard.Data.LoginUsername = Models.Encryption.Encryption.Decrypt(jsonCard.Data.LoginUsername); } if (!String.IsNullOrEmpty(jsonCard.Data.LoginPassword)) { jsonCard.Data.LoginPassword = Models.Encryption.Encryption.Decrypt(jsonCard.Data.LoginPassword); } if (!String.IsNullOrEmpty(jsonCard.Data.PayPassword)) { jsonCard.Data.PayPassword = Models.Encryption.Encryption.Decrypt(jsonCard.Data.PayPassword); } if (!String.IsNullOrEmpty(jsonCard.Data.UkeyPassword)) { jsonCard.Data.UkeyPassword = Models.Encryption.Encryption.Decrypt(jsonCard.Data.UkeyPassword); } return(jsonCard.Data); } else { System.Windows.Forms.MessageBox.Show(jsonCard.Msg); return(null); } } else { return(null); } } } catch (Exception ex) { throw ex; } }