コード例 #1
0
        public void SendFiles()
        {
            if (Ipaybox.XML_SendFile.DocumentElement.ChildNodes.Count > 0)
            {
                try
                {
                    foreach (XmlElement el in Ipaybox.XML_SendFile.DocumentElement.ChildNodes)
                    {
                        if (el.Name == "filerequest")
                        {
                            string id    = el.GetAttribute("id");
                            string name  = el.GetAttribute("filename");
                            string path  = el.GetAttribute("path");
                            string type  = el.GetAttribute("type");  // тип отправки SERVER/EMAIL
                            string email = el.GetAttribute("email"); // тип отправки SERVER/EMAIL
                            switch (path)
                            {
                            case "relative":
                                name = Ipaybox.StartupPath.TrimEnd('\\') + '\\' + name;
                                break;
                            }
                            string zipname = id + ".zip";

                            if (!File.Exists(name))
                            {
                                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Запрошенный файл `" + name + "` не найден!");
                                break;
                            }

                            // Удалось создать архив
                            if (PackFile(name, zipname))
                            {
                                System.Threading.Thread.Sleep(30);

                                FileInfo fi = new FileInfo(zipname);
                                if (fi.Exists)
                                {
                                    switch (type.ToLower())
                                    {
                                    case "email":
                                        if (SMTP("Терминал " + Ipaybox.Terminal.terminal_id, "Файл " + name + " с терминала №" + Ipaybox.Terminal.terminal_id + " " + Ipaybox.Terminal.trm_adress, fi.FullName, email))
                                        {
                                            Ipaybox.XML_SendFile.DocumentElement.RemoveChild(el);
                                            Ipaybox.XML_SendFile.Save("file.xml");
                                        }
                                        break;
                                    }
                                    // Отпарвляем по смтп файл

                                    fi.Delete();
                                }
                            }
                        }
                    }
                }
                catch
                {
                }
            }
        }
コード例 #2
0
ファイル: options.cs プロジェクト: ykcycvl/Zeus2013
        private void options_Load(object sender, EventArgs e)
        {
            if (!Ipaybox.ServiceMenuActive)
            {
                Ipaybox.ServiceMenuActive = true;
                if (Ipaybox.WindowsPrinter)
                {
                    doc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
                    doc.EndPrint  += new PrintEventHandler(EndPrint);
                }

                this.Text = "Настройки терминала - Версия ПО: " + Ipaybox.CoreVersion;
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Пин-код верный - вход в меню настройки терминала.");
                this.TopLevel = true;
                if (Ipaybox.Debug)
                {
                    this.TopMost = false;
                }

                LoadF();
            }
            else
            {
                this.Dispose();
            }
        }
コード例 #3
0
ファイル: acceptaccount.cs プロジェクト: ykcycvl/Zeus2013
        private void Pic_Click(object sender, System.EventArgs e)
        {
            //System.GC.Collect();
            Sound.Play(Ipaybox.StartupPath.TrimEnd('\\') + "\\sounds\\" + "click1.wav");
            zPictureBox pb = (zPictureBox)sender;
            //MessageBox.Show("CLICK PRV=" + pb.Tag);
            string tag = pb.Tag.ToString().ToLower();

            // Нажата не кнопка на клаве
            switch (tag)
            {
            case "ok":
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Номер подтвержден");
                Ipaybox.curPay.IsAccountConfirmed = true;
                Ipaybox.StartForm.Main_Process();
                this.Dispose();
                break;

            case "vmenu":
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Возврат в главное меню.");
                ExitForm();
                break;

            case "goprev":
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Возврат в предыдущее меню.");
                Ipaybox.cFormIndex = Ipaybox.cFormIndex - 1;
                Ipaybox.StartForm.Main_Process();
                this.Dispose();
                //ExitForm();
                break;
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: ykcycvl/Zeus2013
        public static void printDoc_PrintPage(Object sender, PrintPageEventArgs e)
        {
            try
            {
                if (Ipaybox.FRS.RemoteFR && !Ipaybox.IncassCheck)
                {
                    PrintString = remoteFR.RemoteFiscalRegister.tryFormFicsalCheck(Ipaybox.Terminal.jur_name.Trim(), Ipaybox.FRS.headertext, PrintString, "Сотовая св.", Ipaybox.Terminal.terminal_id.Trim(), Ipaybox.Terminal.terminal_pass, Ipaybox.curPay.txn_id, Ipaybox.curPay.from_amount.ToString(), "1", Ipaybox.FRS.RemoteFiscalRegisterURL, Ipaybox.FRS.checkWidth, Ipaybox.FRS.remoteFRtimeout);
                }
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Logs.Main, ex.Message);
            }

            if (Ipaybox.EpsonT400)
            {
                Font       printFont = new Font("Courier New", 8);
                RectangleF rf        = new RectangleF(0, 0, 220, 0);
                PrintString = PrintString.Replace("\r\n\r\n", "\r\n");
                PrintString = PrintString.Trim();
                e.Graphics.DrawString(PrintString, printFont, Brushes.Black, rf);
            }
            else
            {
                Font printFont = new Font("Courier New", 10);
                e.Graphics.DrawString(PrintString, printFont, Brushes.Black, 0, 0);
            }
        }
コード例 #5
0
 private void ExitForm()
 {
     Ipaybox.AddToLog(Ipaybox.Logs.Main, "Выход формы `Спасибо`.");
     Ipaybox.FlushToMain();
     Ipaybox.StartForm.Main_Process();
     this.Dispose();
 }
コード例 #6
0
 public void Connect(string entry)
 {
     try
     {
         if (!IsConnected(entry))
         {
             if (Ipaybox.Debug)
             {
                 Ipaybox.AddToLog(Ipaybox.Logs.Main, "Попытка соединения через " + entry);
             }
             dialer.PhoneBookPath = phonebook.Path;
             dialer.EntryName     = entry;
             dialer.DialAsync();
         }
     }
     catch (Exception ex)
     {
         if (Ipaybox.Debug)
         {
             Ipaybox.AddToLog(Ipaybox.Logs.Main, "Соединение НЕ установлено.");
         }
         HelperClass.CrashLog.AddCrash(ex);
         Connected = false;
     }
 }
コード例 #7
0
        //Определение параметров порта и попытка открытия порта модема
        private static bool OpenPort(string portName, int writeTimeOut, int readTimeOut, int baudRate,
                                     Parity parity, int dataBits, StopBits stopBits, Handshake handshake, bool dtrEnable, bool rtsEnable,
                                     string newLine)
        {
            //Попытка инициализировать порт
            try
            {
                port.PortName     = portName;
                port.WriteTimeout = 500;
                port.ReadTimeout  = 500;
                port.BaudRate     = 115200;
                port.Parity       = System.IO.Ports.Parity.None;
                port.DataBits     = 8;
                port.StopBits     = System.IO.Ports.StopBits.One;
                port.Handshake    = System.IO.Ports.Handshake.RequestToSend;
                port.DtrEnable    = true;
                port.RtsEnable    = true;
                port.NewLine      = System.Environment.NewLine;
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, ex.Message);
                return(false);
            }

            //Попытка открытия порта
            try
            {
                port.Open();
            }
            catch
            {
                return(false);
            }

            //Попытка записи в порт
            try
            {
                port.WriteLine("AT");
                System.Threading.Thread.Sleep(100);
                string portans = port.ReadExisting().Trim();

                if (portans.IndexOf("OK") == -1)
                {
                    port.Close();
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, ex.Message);
                port.Close();
                return(false);
            }
        }
コード例 #8
0
        // ПИН-коды
        public void UpdatePIN()
        {
            Ipaybox.AddToLog(Ipaybox.Logs.Main, "Загрузка списка ПИН-кодов с сервера...");

            try
            {
                string data = "<request>";
                data += "<protocol>1.00</protocol>";
                data += "<type>1.00</type>";
                data += "<terminal>" + Ipaybox.Terminal.terminal_id + "</terminal>";
                data += "<pass>" + Ipaybox.Terminal.terminal_pass + "</pass>";
                data += "<pincode/>";
                data += "</request>";

                string resp = TryPostData(data);

                if (resp != "")
                {
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Получен ответ от сервера...");
                    try
                    {
                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(resp);

                        if (resp.IndexOf("result") == -1)
                        {
                            Ipaybox.TPIN.LoadXml(doc.InnerXml);

                            // Проверяем не пришел ли нам мусор...
                            if (Ipaybox.TPIN.DocumentElement.ChildNodes.Count > 0)
                            {
                                if (Ipaybox.TPIN.DocumentElement.ChildNodes[0].Name == "pins")
                                {
                                    if (Ipaybox.TPIN.DocumentElement.ChildNodes[0].ChildNodes.Count > 0)
                                    {
                                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Загружены ПИН-коды...");
                                        Ipaybox.TPIN.Save(Ipaybox.StartupPath + "\\config\\tpin.xml");
                                    }
                                }
                            }
                        }
                    }
                    catch
                    {
                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Произошла ошибка при обработке ответа. Неправильный XML.");
                    }
                }
                else
                {
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Ответ от сервера не получен.");
                }
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Ошибка. " + ex.Message);
            }
        }
コード例 #9
0
        public bool SendAllPays()
        {
            if (Ipaybox.pays.DocumentElement.ChildNodes.Count > 0)
            {
                string data = "<request>";
                data += "<protocol>1.00</protocol>";
                data += "<type>1.00</type>";
                data += "<terminal>" + Ipaybox.Terminal.terminal_id + "</terminal>";
                data += "<pass>" + Ipaybox.Terminal.terminal_pass + "</pass>";
                if (Ipaybox.pays.DocumentElement.ChildNodes.Count > 5)
                {
                    data += "<pays count=\"1\">" + XmlSendPayCount(1) + "</pays>\r\n";
                }
                else
                {
                    data += "<pays count=\"" + Ipaybox.pays.DocumentElement.ChildNodes.Count + "\">" + Ipaybox.pays.DocumentElement.InnerXml + "</pays>\r\n";

                    foreach (XmlElement row in Ipaybox.pays.DocumentElement)
                    {
                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "Готовим платеж к отправке №" + row.GetAttribute("txn_id"));
                    }
                }


                //data += "<pays count=\"" + Ipaybox.pays.DocumentElement.ChildNodes.Count + "\">" + Ipaybox.pays.DocumentElement.InnerXml + "</pays>\r\n";
                //data += GetFileToSend();
                data += "</request>";

                // отправляем файл если надо
                SendFiles();

                string response = TryPostData(data);

                if (response != "")
                {
                    XML_Response = response;

                    XmlDocument resp = new XmlDocument();
                    try
                    {
                        resp.LoadXml(response);
                    }
                    catch { return(false); }

                    return(ParseResponse(resp.DocumentElement));
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
コード例 #10
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     Ipaybox.InvalidPinEntered = true;
     Ipaybox.Working           = false;
     Ipaybox.ServiceMenu       = false;
     Ipaybox.StartForm.Main_Process();
     Ipaybox.LoginFormActive = false;
     this.Dispose();
     Ipaybox.AddToLog(Ipaybox.Logs.Main, "Выход в главное меню по тайм-ауту.");
 }
コード例 #11
0
        private FileCheckError ValidateLocalFile(string file, string length, string crc)
        {
            FileInfo fi = null;

            try
            {
                if (file.IndexOf(Ipaybox.StartupPath) == -1)
                {
                    fi = new FileInfo(Ipaybox.StartupPath + "\\" + file.TrimStart(new char[] { '\\' }));
                }
                else
                {
                    fi = new FileInfo(file);
                }
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Update, "\t\t Проверка " + file + " " + ex.ToString());
                return(FileCheckError.UPDATE);
            }

            if (!fi.Exists)
            {
                return(FileCheckError.UPDATE);
            }

            crc32 = new CRC32();
            String crclocal = String.Empty;

            using (FileStream fs = fi.OpenRead()) //here you pass the file name
            {
                foreach (byte b in crc32.ComputeHash(fs))
                {
                    crclocal += b.ToString("x2").ToLower();
                }
            }
            if (length == fi.Length.ToString() && crc == crclocal)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Update, "\t\t Проверка " + file + " (" + length + ":" + crc + ")(" + fi.Length.ToString() + ":" + crclocal + ")= OK");
                return(FileCheckError.OK);
            }
            else
            {
                Match m = Regex.Match(file, @"([.]exe$)||([.]dll$)");

                if (m.Success)
                {
                    file += ".update";
                    return(ValidateLocalFile(file, length, crc));
                }

                Ipaybox.AddToLog(Ipaybox.Logs.Update, "\t\t Проверка " + file + " (" + length + ":" + crc + ")(" + fi.Length.ToString() + ":" + crclocal + ")=UPDATE");
                return(FileCheckError.UPDATE);
            }
        }
コード例 #12
0
        // Комиссия
        public void UpdateComiss(bool critical)
        {
            Ipaybox.AddToLog(Ipaybox.Logs.Main, "Загрузка профилей комиссий...");
            XmlDocument comission = new XmlDocument();

            try
            {
                string xml = TryDownloadComiss(ref comission);

                if (xml != null)
                {
                    if (xml.Length > 0)
                    {
                        Ipaybox.Incass.bytesRead += xml.Length;
                        Ipaybox.FlushStatistic();

                        if (xml.IndexOf("result") == -1)
                        {
                            // нормальный
                            Ipaybox.comiss.LoadXml(xml);

                            Ipaybox.comiss.Save(Ipaybox.StartupPath + "\\config\\comiss.xml");
                            Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Профили успешно загружены.");
                            Ipaybox.NeedUpdates.Comission = false;
                        }
                        else
                        {
                            // ошибка
                        }
                    }
                    else
                    {
                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Не удалось загрузить профили.");
                        if (critical)
                        {// Останавливаем обновление
                        }
                        else
                        {// не заменяем
                        }
                    }
                }
                else
                {
                    //Останавливаем обновление
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Не удалось загрузить профили.");
                }
            }
            catch
            {
                //Останавливаем обновление
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Не удалось загрузить профили.");
            }
        }
コード例 #13
0
 private void dialer_StateChanged(object obj, StateChangedEventArgs args)
 {
     if (Ipaybox.Debug)
     {
         Ipaybox.AddToLog(Ipaybox.Logs.Main, "Модем State: " + args.State.ToString() + " Message:" + args.ErrorMessage);
     }
     if (args.State == RasConnectionState.Connected)
     {
         Connected = true;
     }
     else
     {
         Connected = false;
     }
 }
コード例 #14
0
ファイル: info.cs プロジェクト: ykcycvl/Zeus2013
 void info_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.F4)
     {
         Ipaybox.StartForm.Dispose();
     }
     if (e.KeyCode == Keys.F9)
     {
         Ipaybox.AddToLog(Ipaybox.Logs.Main, "Вход в сервисное меню по нажатию клавиши.");
         Form n = new login();
         n.Show();
         Ipaybox.ServiceMenu = true;
         ExitForm();
     }
 }
コード例 #15
0
        private void dialer_DialCompleted(object obj, DialCompletedEventArgs args)
        {
            Connected = args.Connected;

            if (Ipaybox.Debug)
            {
                if (Connected)
                {
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "Соединение установлено.");
                }
                else
                {
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "Соединение НЕ установлено.");
                }
            }
        }
コード例 #16
0
 private static void ClosePort()
 {
     try
     {
         if (port.IsOpen)
         {
             Ipaybox.AddToLog(Ipaybox.Logs.Main, "Закрытие порта " + port.PortName);
             port.Close();
         }
     }
     catch (Exception ex)
     {
         Ipaybox.AddToLog(Ipaybox.Logs.Main, "БАХ2!");
         throw ex;
     }
 }
コード例 #17
0
        // Провайдеры
        public void UpdateProviderList()
        {
            Ipaybox.AddToLog(Ipaybox.Logs.Main, "Загрузка списка провайдеров с сервера...");
            string data = "<request>";

            data += "<protocol>1.00</protocol>";
            data += "<type>1.00</type>";
            data += "<terminal>" + Ipaybox.Terminal.terminal_id + "</terminal>";
            data += "<pass>" + Ipaybox.Terminal.terminal_pass + "</pass>";
            data += "<providerlist/>";
            data += "</request>";

            string resp = TryPostData(data);

            if (resp != "")
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Получен ответ от сервера...");
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(resp);
                    if (resp.IndexOf("result") == -1)
                    {
                        Ipaybox.providers.LoadXml(doc.InnerXml);

                        // Проверяем не пришел ли нам мусор...
                        if (Ipaybox.providers.DocumentElement.ChildNodes.Count > 0)
                        {
                            if (Ipaybox.providers.DocumentElement.ChildNodes[0].Name == "providers")
                            {
                                Ipaybox.providers.Save(Ipaybox.StartupPath + "\\config\\providers.xml");
                                Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Список провайдеров загружен...");
                                Ipaybox.NeedUpdates.ProviderList = false;
                            }
                        }
                    }
                }
                catch
                {
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Произошла ошибка при обработке ответа. Неправильный XML.");
                }
            }
            else
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Ответ от сервера не получен.");
            }
        }
コード例 #18
0
        // Терминал - Информация
        private string TryDownloadTerminalInfo()
        {
            Ipaybox.AddToLog(Ipaybox.Logs.Main, "Загрузка информации о терминале.");
            XmlDocument d     = new XmlDocument();
            bool        t     = false;
            int         count = 0;
            string      xml   = "";

            while (!t && count < Ipaybox.ServiceUrl.Length * 2)
            {
                try
                {
                    //xml = SendRequestGET(Ipaybox.ServiceUrl[Ipaybox.ServiceUrlIndex] + "xml_comiss.exe?trm_id="+Ipaybox.Terminal.terminal_id+"&trm_p="+Ipaybox.Terminal.terminal_pass);
                    xml = Client.DownloadString(Ipaybox.ServiceUrl[Ipaybox.ServiceUrlIndex] + "xml_terminal.exe?trm_id=" + Ipaybox.Terminal.terminal_id + "&trm_p=" + Ipaybox.Terminal.terminal_pass);

                    try
                    {
                        //string utf8 = Encoding.UTF8.GetString(Encoding.Convert(Encoding.ASCII, Encoding.UTF8, Encoding.ASCII.GetBytes(xml)));

                        d.LoadXml(xml);
                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "...Успешно загружена.");
                        Ipaybox.Incass.bytesSend += 10;
                        Ipaybox.Incass.bytesRead += xml.Length;
                        Ipaybox.FlushStatistic();
                        break;
                    }
                    catch
                    {
                        count++;
                    }
                }
                catch
                {
                    Ipaybox.ServiceUrlIndex++;
                    if (Ipaybox.ServiceUrlIndex == Ipaybox.ServiceUrl.Length)
                    {
                        Ipaybox.ServiceUrlIndex = 0;
                    }
                    count++;
                }
            }

            return(xml);
        }
コード例 #19
0
        private void login_Load(object sender, EventArgs e)
        {
            if (!Ipaybox.LoginFormActive)
            {
                Ipaybox.LoginFormActive = true;
                _cursor.Show();

                if (!Ipaybox.Debug)
                {
                    this.TopMost = true;
                }

                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Вход в Сервисное меню - Ввод пин-кода.");
            }
            else
            {
                this.Dispose();
            }
        }
コード例 #20
0
ファイル: info.cs プロジェクト: ykcycvl/Zeus2013
        /// <summary>
        /// Полим купюрник
        /// </summary>
        private void Pooling()
        {
            if (CanPolling)
            {
                try
                {
                    Ipaybox.Bill.AllowMoneyEnterOnPooling = false;
                    Ipaybox.Bill.Pooling();

                    // Обработка ошибок
                    if (Ipaybox.Bill.Error == true)
                    {
                        if (Ipaybox.Bill.ErrorMsg.IndexOf("DROP_CASSETTE_REMOVED") >= 0 && Ipaybox.ServiceMenu == false)
                        {
                            //Если не был введен неправильный пин - показать форму входа в сервисное меню
                            if (!Ipaybox.InvalidPinEntered)
                            {
                                if (!Ipaybox.LoginFormActive)
                                {
                                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "Снят стекер. Показываем сервисное меню.");
                                    Form login = new login();
                                    login.Show();
                                    this.Dispose();
                                }
                            }
                        }
                        else
                        {
                            //Стекер не снят - сброс ошибки ввода неверного ПИН-кода
                            Ipaybox.InvalidPinEntered = false;
                        }
                    }
                    else
                    {
                        //Ошибок купюроприемника нет - сброс ошибки ввода неверного ПИН-кода
                        Ipaybox.InvalidPinEntered = false;
                    }
                }
                catch
                {
                }
            }
        }
コード例 #21
0
ファイル: options.cs プロジェクト: ykcycvl/Zeus2013
        private void printDoc_PrintPage(Object sender, PrintPageEventArgs e)
        {
            FileInfo     fi    = new FileInfo(Ipaybox.StartupPath + "\\config\\vkp80.prn");
            StreamReader sr    = fi.OpenText();
            string       check = sr.ReadToEnd();

            sr.Close();

            check = check.Replace("[agent_jur_name]", Ipaybox.Terminal.jur_name.Trim());
            check = check.Replace("[agent_adress]", Ipaybox.Terminal.jur_adress.Trim());
            check = check.Replace("[agent_inn]", "ИНН " + Ipaybox.Terminal.jur_inn.Trim());
            check = check.Replace("[agent_support_phone]", Ipaybox.Terminal.support_phone.Trim());
            check = check.Replace("[bank]", Ipaybox.Terminal.bank.Trim());
            check = check.Replace("[terms_number]", Ipaybox.Terminal.terms_number.Trim());
            check = check.Replace("[count_bill]", Ipaybox.Incass.countchecks.ToString().Trim());
            check = check.Replace("[terminal_id]", Ipaybox.Terminal.terminal_id.Trim());
            check = check.Replace("[trm_adress]", Ipaybox.Terminal.trm_adress.Trim());
            check = check.Replace("[date]", DateTime.Now.ToString().Trim());
            check = check.Replace("[amount]", Ipaybox.curPay.from_amount.ToString() + " руб.");
            check = check.Replace("[to_amount]", Ipaybox.curPay.to_amount.ToString() + " руб.");

            if (Ipaybox.FRS.RemoteFR)
            {
                try
                {
                    check = remoteFR.RemoteFiscalRegister.tryFormFicsalCheck(Ipaybox.Terminal.jur_name.Trim(), Ipaybox.FRS.headertext, check, "Тест", Ipaybox.Terminal.terminal_id.Trim(), Ipaybox.Terminal.terminal_pass, "0", "0", "1", Ipaybox.FRS.RemoteFiscalRegisterURL, Ipaybox.FRS.checkWidth, Ipaybox.FRS.remoteFRtimeout);
                }
                catch (Exception ex) { Ipaybox.AddToLog(Ipaybox.Logs.Main, ex.Message); }
            }
            ;

            if (Ipaybox.EpsonT400)
            {
                Font       printFont = new Font("Courier New", 8);
                RectangleF rf        = new RectangleF(0, 0, 220, 0);
                e.Graphics.DrawString("ШАБЛОН " + fi.Name + "\r\n" + check, printFont, Brushes.Black, rf);
            }
            else
            {
                Font printFont = new Font("Courier New", 10);
                e.Graphics.DrawString("ШАБЛОН " + fi.Name + "\r\n" + check, printFont, Brushes.Black, 0, 0);
            }
        }
コード例 #22
0
        public string XmlSendPayCount(int c_pays)
        {
            string pays = "";

            for (int i = 0; i < c_pays; i++)
            {
                XmlElement el = (XmlElement)Ipaybox.pays.DocumentElement.ChildNodes[i];
                pays += "<pay ";
                for (int j = 0; j < el.Attributes.Count; j++)
                {
                    pays += el.Attributes[j].Name + "=\"" + el.Attributes[j].Value + "\" ";
                }
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Готовим платеж к отправке №" + el.GetAttribute("txn_id"));

                pays += ">";
                pays += el.InnerXml;
                pays += "</pay> ";
            }
            return(pays);
        }
コード例 #23
0
        private void thanks_Load(object sender, EventArgs e)
        {
            Ipaybox.AddToLog(Ipaybox.Logs.Main, "Показываем форму `Спасибо`.");
            this.Size = Ipaybox.Resolution;

            if (Ipaybox.Inches == 17)
            {
                this.Location = new Point(0, 0);
            }
            try
            {
                _cursor.Hide();

                if (!Ipaybox.Debug)
                {
                    this.TopMost = false;
                }
            }
            catch { }
            LoadThisForm();
        }
コード例 #24
0
ファイル: options.cs プロジェクト: ykcycvl/Zeus2013
        private void button2_Click(object sender, EventArgs e)
        {
            timer2.Stop();
            timer2.Start();

            this.TopMost = false;
            DialogResult dr = MessageBox.Show("Вы действительно хотите забрать деньги?", "Подтверждение инкассации", MessageBoxButtons.OKCancel);

            if (dr == DialogResult.OK)
            {
                //SendIncass si = new SendIncass();
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Выбран пункт проинкассировать платежи.");

                try
                {
                    Ipaybox.IncassCheck = true;
                    PrintCheck();
                    var inc = new zeus.API.IncassHistoryEntity(Ipaybox.Incassation)
                    {
                        DateStoped = DateTime.Now, TerminalId = Ipaybox.Terminal.terminal_id, userID = Ipaybox.userID
                    };
                    //Ipaybox.IncassHistory.Load();
                    Ipaybox.IncassHistory.Clear60();
                    Ipaybox.IncassHistory.Add(inc);

                    Ipaybox.IncassHistory.Save();
                    Ipaybox.Incassation.UserID = Ipaybox.userID;
                    Ipaybox.Import.Add("<i>" + Ipaybox.Incassation.IncassNow() + "</i>");
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "Инкассация добавлена в import.");

                    ShowStatistic();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Инкассация НЕ ПРОШЛА! \r\n" + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "Инкассация не прошла.");
                }
            }
            this.TopMost = true;
        }
コード例 #25
0
        private void Process_Form(zeus.HelperClass.zForm frm)
        {
            // Установка таймаута бездействия в мс
            if (frm.timeout != 0)
            {
                flush_timer.Interval = frm.timeout * 1000;
            }

            //Установка "бэкграунда"
            try
            {
                this.BackgroundImage       = new Bitmap(Ipaybox.StartupPath + @"\" + frm.bgimg);
                this.BackgroundImageLayout = ImageLayout.Stretch;
            }
            catch
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Не удалось загрузить фоновое изображение");
                ExitForm();
            }

            //Добавляем элементы на форму
            //Надписи, кнопки, изображения, флэшки и т.п.
            for (int i = 0; i < frm.images.Count; i++)
            {
                Ipaybox.AddImage(frm.images[i], ref img[img_count], this);
                img_count++;
            }

            for (int i = 0; i < frm.buttons.Count; i++)
            {
                Ipaybox.AddButton(frm.buttons[i], ref img[img_count], this, new EventHandler(this.Pic_Click));
                img_count++;
            }

            for (int i = 0; i < frm.labels.Count; i++)
            {
                Ipaybox.AddLabel(frm.labels[i], ref labels[labels_count], this);
                labels_count++;
            }
        }
コード例 #26
0
ファイル: main_menu.cs プロジェクト: ykcycvl/Zeus2013
        /// <summary>
        /// Полим купюрник
        /// </summary>
        private void Pooling()
        {
            if (CanPolling)
            {
                try
                {
                    Ipaybox.Bill.AllowMoneyEnterOnPooling = false;

                    Ipaybox.Bill.Pooling();

                    // Обработка ошибок
                    if (Ipaybox.Bill.Error == true)
                    {
                        if (Ipaybox.Bill.ErrorMsg.IndexOf("DROP_CASSETTE_REMOVED") >= 0 && Ipaybox.ServiceMenu == false)
                        {
                            if (!Ipaybox.InvalidPinEntered)
                            {
                                pooling.Stop();
                                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Снят стекер. Показываем сервисное меню.");
                                this.ShowLoginForm("");
                            }
                        }
                        else
                        {
                            //Стекер не снят - сброс ошибки ввода неверного ПИН-кода
                            Ipaybox.InvalidPinEntered = false;
                        }
                    }
                    else
                    {
                        //Ошибок нет - сброс ошибки ввода неверного ПИН-кода
                        Ipaybox.InvalidPinEntered = false;
                    }
                }
                catch
                {
                }
            }
        }
コード例 #27
0
        public modem()
        {
            try
            {
                dialer    = new RasDialer();
                phonebook = new RasPhoneBook();

                dialer.DialCompleted += new EventHandler <DialCompletedEventArgs>(dialer_DialCompleted);
                dialer.StateChanged  += new EventHandler <StateChangedEventArgs>(dialer_StateChanged);
                phonebook.Open();

                Entry = new string[phonebook.Entries.Count];

                for (int i = 0; i < phonebook.Entries.Count; i++)
                {
                    Entry[i] = phonebook.Entries[i].Name;
                }
            }
            catch (Exception ex)
            {
                HelperClass.CrashLog.AddCrash(ex);
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Не удалось инициализировать класс работы с GPRS;");
            }
        }
コード例 #28
0
        private void button14_Click(object sender, EventArgs e)
        {
            bool   AccessGranted = false;
            string UserName      = "******";

            if (!Ipaybox.MasterPIN_IsActive)
            {
                for (int i = 0; i < Ipaybox.TPIN.GetElementsByTagName("person").Count; i++)
                {
                    XmlElement el     = Ipaybox.TPIN.GetElementsByTagName("person")[i] as XmlElement;
                    string     pin_el = el.GetAttribute("pin").ToString();

                    if (pin_el == Ipaybox.getMd5Hash(pin))
                    {
                        AccessGranted  = true;
                        UserName       = el.GetAttribute("name").ToString();
                        Ipaybox.userID = Convert.ToUInt32(el.GetAttribute("pid"));
                        break;
                    }
                }
            }
            else
            {
                XmlElement el     = Ipaybox.terminal_info.GetElementsByTagName("pin")[0] as XmlElement;
                string     pin_el = el.InnerText;

                if (pin_el == Ipaybox.getMd5Hash(pin))
                {
                    AccessGranted  = true;
                    Ipaybox.userID = 1;
                }
            }

            if (AccessGranted)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Попытка входа в сервисное меню. " + UserName);
                Form i = new options();
                Ipaybox.LoginFormActive = false;
                i.Show();
                this.Dispose();
            }
            else
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Попытка входа в сервисное меню pin-code:" + pin);
                EnteringPINcount++;
                pin = "";

                if (EnteringPINcount > 2)
                {
                    Ipaybox.Working           = false;
                    Ipaybox.InvalidPinEntered = true;
                    Ipaybox.ServiceMenu       = false;
                    Ipaybox.StartForm.Main_Process();
                    Ipaybox.LoginFormActive = false;
                    this.Dispose();
                    Ipaybox.AddToLog(Ipaybox.Logs.Main, "ПИН введен неверно 3 раза");
                }
            }

            textBox1.Text = pin;
        }
コード例 #29
0
ファイル: info.cs プロジェクト: ykcycvl/Zeus2013
        private void Process_Form(XmlElement frm)
        {
            XmlElement root = frm;

            try
            {
                this.BackgroundImage = new Bitmap(Ipaybox.StartupPath + @"\" + root.GetAttribute("backgroundimage"));
            }
            catch { }


            string bgcolor = string.Empty;

            try
            {
                root.GetAttribute("bgcolor");
            }
            catch
            {
            }

            if (!string.IsNullOrEmpty(bgcolor))
            {
                string[] rgb = bgcolor.Split(';');

                if (rgb.Length == 3)
                {
                    try
                    {
                        this.BackColor = Color.FromArgb(int.Parse(rgb[0]), int.Parse(rgb[1]), int.Parse(rgb[2]));
                    }
                    catch
                    {
                        Ipaybox.AddToLog(Ipaybox.Logs.Main, "Неверное представление цвета в тэге bgcolor");
                    }
                }
            }

            for (int i = 0; i < root.ChildNodes.Count; i++)
            {
                XmlElement row = (XmlElement)root.ChildNodes[i];

                if (row.Name == "img")
                {
                    Ipaybox.AddImage(row, ref img[img_count], this);
                    img_count++;
                }
                if (row.Name == "button")
                {
                    AddButton(row);
                }
                if (row.Name == "label")
                {
                    Ipaybox.AddLabel(row, ref labels[label_count], this);
                    label_count++;
                }
                if (row.Name == "flash")
                {
                    AddFlash(row, this);
                }
            }
        }
コード例 #30
0
ファイル: acceptaccount.cs プロジェクト: ykcycvl/Zeus2013
        public static void AddBanner(zeus.HelperClass.zBanner btn, System.Windows.Forms.Form f, EventHandler tar)
        {
            try
            {
                string location = btn.location;
                string limg     = btn.src;
                string size     = btn.size;

                int X     = int.Parse(location.Split(';')[0]);
                int Y     = int.Parse(location.Split(';')[1]);
                int sizeX = int.Parse(size.Split(';')[0]);
                int sizeY = int.Parse(size.Split(';')[1]);

                XmlElement root = (XmlElement)Ipaybox.config.DocumentElement.SelectSingleNode("banners");

                Image _gif = null;

                try
                {
                    if (root == null)
                    {
                        _gif = Image.FromFile(limg);
                    }
                    else
                    {
                        for (int i = 0; i < root.ChildNodes.Count; i++)
                        {
                            XmlElement row = (XmlElement)root.ChildNodes[i];

                            if (row.Name == "banner")
                            {
                                string form = row.GetAttribute("form").ToLower();

                                if (form == "acceptaccount" || form == "all")
                                {
                                    string src = row.GetAttribute("src");
                                    _gif = Image.FromFile(src);
                                    break;
                                }
                            }
                        }

                        if (_gif == null)
                        {
                            _gif = Image.FromFile(limg);
                        }
                    }
                }
                catch
                {
                    _gif = Image.FromFile(limg);
                }

                PictureBox pb = new PictureBox();
                pb.Size      = new Size(sizeX, sizeY);
                pb.Location  = new Point(X, Y);
                pb.BackColor = Color.Transparent;
                pb.Image     = _gif;
                f.Controls.Add(pb);
            }
            catch (Exception ex)
            {
                Ipaybox.AddToLog(Ipaybox.Logs.Main, "Не удалось загрузить баннер: " + ex.Message);
            }
        }