public static string SendManDocPack(string login, int password, int moneyType, string money, string center, string vType, string returnDate, bool reception = false, bool withoutApp = false) { string requestResult = String.Empty; string servicesList = ManualDocPack.AllServices(); Log.Add("запрос на чек: " + servicesList, freeLine: true); string fields = "login="******"&pass="******"&moneytype=" + moneyType.ToString() + "&money=" + money + "¢er=" + RCenterNamesExclusion(center) + "&vtype=" + vType + "&rdate=" + returnDate + "&services=" + servicesList + "&callback=" + MainWindow.Cashbox.serialNumber + "&r=" + (reception ? "1" : "0") + "&n=" + (withoutApp ? "1" : "0"); string request = fields + "&crc=" + CheckRequest.CreateMD5(fields, notOrd: true); string url = "/vcs/cashbox_mandocpack.htm?" + request; Log.Add(url, logType: "http"); try { requestResult = SockectSend(url); } catch (SocketException e) { Log.AddWeb("(отправка запроса на чек) " + e.Message); return("ERROR|Ошибка отправки запроса на чек"); } return(requestResult); }
public static string AppNumberData(string appNumber, string summ) { string requestResult = String.Empty; string appNumberClean = Regex.Replace(appNumber, @"[^0-9]", String.Empty); string fields = "app=" + appNumberClean + "&summ=" + summ; string request = fields + "&crc=" + CheckRequest.CreateMD5(fields, notOrd: true); string url = "/vcs/cashbox_appinfo.htm?" + request; Log.Add(url, logType: "http"); try { requestResult = SockectSend(url); } catch (SocketException e) { Log.AddWeb("(отправка запроса на информацию о записи) " + e.Message); return("ERROR|Ошибка отправки запроса на информацию о записи"); } return(requestResult); }
public static string Update(string updateFiles) { Log.Add("необходимо обновление до версии " + GetLastVersion(updateFiles), "update", freeLine: true); XmlDocument updateData = new XmlDocument(); updateData.LoadXml(updateFiles); WebClient webClient = new WebClient(); Directory.CreateDirectory(UPDATE_DIR); foreach (XmlNode node in updateData.SelectNodes("Update/Files/File")) { string name = node["Name"].InnerText; try { webClient.DownloadFile(URL_UPDATE + name, UPDATE_DIR + name); } catch (WebException e) { return(String.Empty); } Log.Add("скачан файл: " + name, "update"); string[] lines = System.IO.File.ReadAllLines(UPDATE_DIR + name); string crcCheck = CheckRequest.CreateMD5(string.Join(String.Empty, lines), withOutPass: false); if (crcCheck != node["CRC"].InnerText) { return(String.Empty); } } return(UPDATE_DIR); }
public static string SendManDocPack(string login, int password, int moneyType, string money, string center, string vType, string returnDate, bool reception = false) { string requestResult = String.Empty; string servicesList = ManualDocPack.AllServices(); Log.Add("запрос на чек: " + servicesList, freeLine: true); string fields = String.Format( "login={0}&pass={1}&moneytype={2}&money={3}¢er={4}&vtype={5}&rdate={6}&services={7}&callback={8}&r={9}&n=1", login, password, moneyType, money, RCenterNamesExclusion(center), vType, returnDate, servicesList, MainWindow.Cashbox.serialNumber, (reception ? "1" : "0") ); string url = String.Format("/vcs/cashbox_mandocpack.htm?{0}&crc={1}", fields, CheckRequest.CreateMD5(fields, notOrd: true)); Log.Add(url, logType: "http"); try { requestResult = SockectSend(url); } catch (SocketException e) { Log.AddWeb("(отправка запроса на чек) " + e.Message); return("ERROR|Ошибка отправки запроса на чек"); } return(requestResult); }
public static string ResponsePrepare(string request, bool empty, string clientIP) { string err = String.Empty; if (empty) { Log.Add("пустой запрос с " + clientIP); CRM.SendError("Пустой запрос с " + clientIP); return("403"); } else if (!CheckRequest.CheckValidRequest(request)) { Log.Add("невалидный запрос " + clientIP); CRM.SendError("Невалидный запрос с " + clientIP); return("404"); } if (!CheckRequest.CheckLoginInRequest(request, out err)) { Log.Add("конфликт логинов: " + err); CRM.SendError("Конфликт логинов: " + err); return("ERR3:Кассовая программа запущена пользователем " + CRM.currentLogin); } if (CheckRequest.CheckConnection(request)) { Log.Add("бип-тест подключения к кассе"); string testResult = Diagnostics.MakeBeepTest(); return(testResult); } if (!CheckRequest.CheckXml(request)) { Log.Add("CRC ошибочна, возвращаем ошибку данных"); CRM.SendError("CRC ошибка"); return("ERR1:Ошибка переданных данных"); } else { Log.Add("CRC запроса корректна, логин соответствует"); DocPack docPack = new DocPack(); docPack.DocPackFromXML(request); if (!String.IsNullOrWhiteSpace(docPack.AgrNumber)) { Log.Add("номер договора: " + docPack.AgrNumber); } MainWindow.Cashbox.manDocPackForPrinting = docPack; if (docPack.RequestOnly == 1) { MainWindow.Cashbox.manDocPackSumm = docPack.Total; ShowTotal(docPack.Total.ToString()); return("OK:Callback запрос получен"); } else { return(MainWindow.Cashbox.PrintDocPack(docPack)); } } }