private void TestConnection() { string message = ""; SendPays sp = new SendPays(); long starttime = Environment.TickCount; switch (sp.TestServer()) { case 0: message = "Связь с сервером есть. Без ошибок."; break; case 1: message = "Связь есть. ТЕРМИНАЛ НЕ АВТОРИЗОВАН! "; break; case 2: message = "Связь с сервером отсутствует. "; break; default: message = sp.XML_Response; break; } long stoptime = Environment.TickCount; long delta = stoptime - starttime; if (message != null) { conText = message + " [" + delta.ToString() + " ms]"; conTextColor = Color.Green; //MessageBox.Show(message + "\r\n\r\n\r\n Время ответа: " + delta.ToString() + " ms"); } else { conText = message + " [" + delta.ToString() + " ms]"; conTextColor = Color.Red; //MessageBox.Show("Связи нет!!!\r\n\r\n\r\n Время ответа: " + delta.ToString() + " ms"); } }
private void ValidateAccount() { AccauntValidated = false; SendPays sp = new SendPays(); Random p = new Random(); int rnd = p.Next(1, 100); string str = rnd.ToString(); if (str.Length < 3) { for (int i = 0; i < 3 - str.Length; i++) { rnd = rnd * 10; } } string account = GetAccountValue(); MD5 md5hasher = MD5.Create(); byte[] hash = md5hasher.ComputeHash(Encoding.Default.GetBytes(account)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i]); } string sHash = sb.ToString(); while (sHash.Length < 5) { int r = p.Next(0, 9); sHash += r.ToString(); } Ipaybox.curPay.txn_id = DateTime.Now.ToString("yyMMddHHmmss") + Ipaybox.PRV_SELECTED_ID.Trim() + sHash.Substring(0, 5); while (Ipaybox.curPay.txn_id.Length > 19) { Ipaybox.curPay.txn_id = Ipaybox.curPay.txn_id.Substring(0, Ipaybox.curPay.txn_id.Length - 1); } Ipaybox.curPay.Date = DateTime.Now; sp.SendPay("check", Ipaybox.PRV_SELECTED_ID, Ipaybox.Terminal.terminal_id, Ipaybox.Terminal.terminal_pass, GetAccountValue(), Ipaybox.curPay.txn_id, "10", "10", Ipaybox.curPay.Date.ToString("yyyy.MM.dd HH:mm:ss")); XmlDocument doc = new XmlDocument(); try { doc.LoadXml(sp.XML_Response); string result = doc.DocumentElement.SelectSingleNode("result").InnerText; string comment = doc.DocumentElement.SelectSingleNode("comment").InnerText; int.TryParse(result, out glResult); if (result == "0") { IsAccountValid = true; IsServiceAvailable = true; } else { IsAccountValid = false; IsServiceAvailable = true; } } catch { // Не получили ответа или ответ неверный IsAccountValid = false; IsServiceAvailable = false; } AccauntValidated = true; }