/// <summary> /// Обновляет статус принтера /// </summary> private void dispatcherTimerStatusPrinter(object sender, EventArgs e) { if (StatusApp.PrinterStatusBool()) { lblStatus.Content = "Online"; EllipseStatus.Fill = Brushes.GreenYellow; } else { lblStatus.Content = "Offline"; EllipseStatus.Fill = Brushes.OrangeRed; } }
protected override void OnStartup(StartupEventArgs e) { // проверяем статус принтера if (!StatusApp.PrinterStatusBool()) { ConfigTxt config = new ConfigTxt(); Log.Write("Status printer " + config.PrintName + " : Offline\n"); MessageBox.Show("Нет подключения к принтеру " + config.PrintName + " или нет драйвера .Установите в Меню/Настройки программы принтер !!!", "", MessageBoxButton.OK, MessageBoxImage.Error); } // проверяем наличие файла шрифта штрихкода StatusApp.FontBarcod(); // проверяем подключения к бд if (!StatusApp.CheckConnection()) { MessageBox.Show("Нет соединение с базой данных , проверьте сетевое подключение или обратитесь к системному администратору ", "", MessageBoxButton.OK, MessageBoxImage.Hand); ConnectionStringDataBase.ChangeConnect(); } }
/// <summary> /// Опрашивает бд и печатает ценники и устанавливает flag 1 /// </summary> private void PrintAllPriceList() { PriceListCash.Properties.Settings App1 = new PriceListCash.Properties.Settings(); if (StatusApp.PrinterStatusBool()) // если подключен принтер , то печатаем { DataTable dtQuery = CRUD.SelectToDateTable(" exec [cash_Ценники Вывод всех ценников]"); if (dtQuery.Rows.Count > 0) { string defaultPrinterName = MyPrintersOptions.GetDefaultPrinterName(); foreach (DataRow myDataRow in dtQuery.Rows) { for (int i = 0; i < Convert.ToInt32(myDataRow["Количество"]); i++) { PriceList barcodeDetails = new PriceList(); DataTable dtPriceList = barcodeDetails._PriceList; DataRow drow = dtPriceList.NewRow(); drow["Name"] = myDataRow["Наименование"].ToString(); drow["EI"] = myDataRow["ЕИ"].ToString(); drow["Barcode"] = myDataRow["BarCode"].ToString(); drow["Barcode_"] = "*"; drow["Barcode_"] += myDataRow["КодРегистра"].ToString(); drow["Barcode_"] += "*"; var Price = Convert.ToDouble(myDataRow["Цена"]); var IntegerPartPrice = Convert.ToInt32(Math.Truncate(Price)); // Целая часть цены var FractionalPart = Convert.ToInt32((Price - IntegerPartPrice) * 100); // Дробная часть drow["IntegerPartPrice"] = IntegerPartPrice.ToString(); drow["FractionalPartPrice"] = ((FractionalPart < 10) ? ("0" + FractionalPart.ToString()) : FractionalPart.ToString()); drow["Code"] = myDataRow["КодРегистра"].ToString(); drow["TimeStamp"] = myDataRow["timestamp"].ToString(); drow["HostName"] = myDataRow["HostName"].ToString(); dtPriceList.Rows.Add(drow); if (Convert.ToInt32(App1.ВидЦенника) == 0) { using (CrystalReportMida Report = new CrystalReportMida()) { Report.Database.Tables["PriceList"].SetDataSource((DataTable)dtPriceList); MyPrintersOptions.SetDefaultPrinter(config.PrintName); Report.PrintOptions.PrinterName = config.PrintName; Report.PrintToPrinter(1, false, 0, 0); // печать без предосмотра } } else { using (CrystalReportGippo Report = new CrystalReportGippo()) { Report.Database.Tables["PriceList"].SetDataSource((DataTable)dtPriceList); MyPrintersOptions.SetDefaultPrinter(config.PrintName); Report.PrintOptions.PrinterName = config.PrintName; Report.PrintToPrinter(1, false, 0, 0); // печать без предосмотра } } } CRUD.QuerySQL("UPDATE [cash_Ценники] SET [fPrint] = 1 WHERE rowguid = '" + myDataRow["rowguid"].ToString() + "'"); } MyPrintersOptions.SetDefaultPrinter(defaultPrinterName); } } else { Log.Write("Status printer " + config.PrintName + " : Offline\n"); MessageBox.Show("Нет подключения к принтеру " + config.PrintName + " или нет драйвера . Установите по умолчанию принтер " + config.PrintName + " !!!", "", MessageBoxButton.OK, MessageBoxImage.Error); } }