示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }