private void UIConsultConnect(ToolStripMenuItem menu) { if (menu.Checked) { _consult.Disconnect(); } else { string port = _cfg.cfgConsultPort; string caption = String.Format("Consult init on port [{0}]", port); using (IProgressBar _progressForm = FormProgressBar.GetInstance(caption)) { _progressForm.ShowProgressBar(delegate() { try { _consult.Initialise(_cfg.cfgConsultPort); } catch (ConsultException ex) { string msg = String.Format("Connect to ECU on [{0}] failed!", port); HelperClass.Message(this, ex, msg, MessageBoxIcon.Error); _progressForm.StopProgressBar(); } }); } } InitializeConsultMenu(); }
/// <summary> /// Отсылает письмо на [email protected] /// </summary> /// <param name="message">Тело письма</param> /// <param name="attachments">Пути к прикрепляемым файлам</param> private void SendEmail(MailAddress replyAddress, string message, List <string> attachments) { do { string emailTo = "*****@*****.**"; SmtpClient smtp = new System.Net.Mail.SmtpClient(); smtp.Host = "smtp.mail.ru"; smtp.Port = 2525; smtp.EnableSsl = true; smtp.Timeout = 10; smtp.Credentials = new NetworkCredential(emailTo, "simple"); MailMessage msg = new MailMessage(emailTo, emailTo); //Добавляем аттачменты if (attachments != null) { MemoryStream st = HelperClass.CreateZipAttachement(attachments); ContentType ct = new ContentType(); ct.MediaType = MediaTypeNames.Application.Zip; ct.Name = "archive.zip"; st.Position = 0; msg.Attachments.Add(new Attachment(st, ct)); } msg.ReplyTo = replyAddress; msg.Subject = String.Format("Bug report: {0} [{1}<{2}>]", FormAboutBox.AssemblyProduct, replyAddress.DisplayName, replyAddress.Address); msg.Body = String.Format("{0}{1}\tv.{2}{0}{3}{0}{4}", Environment.NewLine, FormAboutBox.AssemblyProduct, FormAboutBox.AssemblyVersion, "____________________________________________________________", message); try { IProgressBar progress = FormProgressBar.GetInstance("Sending eMail..."); progress.ShowProgressBar(delegate() { smtp.Send(msg); }); HelperClass.Message(this, "Done!\nThank you for feedback!"); } catch (Exception ex) { string errDelivery = String.Format("Ошибка при отправке:{0}{1}{0}{0}Повторить?", Environment.NewLine, HelperClass.GetExceptionInfo(ex)); if (MessageBox.Show(this, errDelivery, "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes) { continue; } } break; } while (true); }
/// <summary> /// 停止进度条 /// </summary> public void Stop() { if (myProcessBar != null) { myProcessBar.Close(); myProcessBar = null; } }
/// <summary> /// 显示进度条窗口 /// </summary> public void ShowProcessBar(IAsyncResult result) { myProcessBar = new FormProgressBar(); // Init increase event mSetProgressBar = new SetProgessBarEventHandler(myProcessBar.SetProgressBar); myProcessBar.ShowDialog(); myProcessBar = null; }
/// <summary> /// Сархивировать файлы в MemoryStream /// </summary> /// <param name="attachments">Список файлов</param> /// <returns>Поток данных</returns> public static MemoryStream CreateZipAttachement(List <string> attachments) { _progressZip = FormProgressBar.GetInstance("Packing log file..."); MemoryStream st = new MemoryStream(); ZipFile zip = new ZipFile(); lock (_progressZip) { foreach (string file in attachments) { try { zip.AddFile(file, ""); } catch { } } _progressZip.ShowProgressBar(delegate() { zip.Save(st); }); } _progressZip.Dispose(); _progressZip = null; return(st); }
private void ConsultConnect(COMPortName comPort = null) { StatusLabel(StatusCommunications.Search, lblStatusConsult); StatusLabel(StatusCommunications.Search, cbConsultPort); string port = comPort == null ? "" : comPort.PortName; _consultECUInfo = null; //Если Класса не существует - внештатная ситуация if (_consult == null) { throw new NullReferenceException("Не создан экземпляр класса Consult!"); } //Порт пуст. будем искать консульт на всех свободных портах if (String.IsNullOrEmpty(port)) { if (!_consult.IsOnline) { List <COMPortName> lstAccesiblePorts = COMPortName.GetPortNames(true); using (IProgressBar progressCOMSearch = FormProgressBar.GetInstance("Initialize consult on ")) { progressCOMSearch.ShowProgressBar(delegate() { foreach (COMPortName i in lstAccesiblePorts) { progressCOMSearch.SetCurrentState(i.PortName); try { _consult.Initialise(i.PortName, true); _consultECUInfo = _consult.GetECUInfo(); break; } catch (ConsultException) { continue; } } }); } if (_consult.IsOnline) { StatusLabel(StatusCommunications.Found, lblStatusConsult, _consultECUInfo.ToString()); StatusLabel(StatusCommunications.Found, cbConsultPort, _consultECUInfo.ToString()); port = _consult.COMPort; _consult.Disconnect(); ComboBoxSelectedIndexUpdate(new COMPortName(_consult.COMPort), cbConsultPort); } else { StatusLabel(StatusCommunications.NotFound, lblStatusConsult); StatusLabel(StatusCommunications.NotFound, cbConsultPort); } } } //выбран конкретный порт else { try { //выбранный порт отличается от того по которому сейчас работает консульт //выбранный порт новый и consult уже подключен, отключимся if (port != _consult.COMPort && _consult.IsOnline) { _consult.Disconnect(); } using (IProgressBar progress = FormProgressBar.GetInstance("Consult initialization on " + port)) { progress.ShowProgressBar(delegate() { try { _consult.Initialise(port); _consultECUInfo = _consult.GetECUInfo(); StatusLabel(StatusCommunications.Found, lblStatusConsult, _consultECUInfo.ToString()); StatusLabel(StatusCommunications.Found, cbConsultPort, _consultECUInfo.ToString()); } catch (ConsultException ex) { StatusLabel(StatusCommunications.NotFound, lblStatusConsult, ex.Message); StatusLabel(StatusCommunications.NotFound, cbConsultPort, ex.Message); } }); } } catch (ConsultException ex) { StatusLabel(ex.Message, Color.Red, lblStatusConsult); StatusLabel(ex.Message, Color.Red, cbConsultPort); return; } } }
public void importarExcel() { FormProgressBar progres = new FormProgressBar(); ARTICULO articulo; NastiUtil util = new NastiUtil(); string[] cabecera = { "Id", "Código", "Nombre", "P.V.P", "Stock", "Tipo Articulo", "Impuesto", "compras", "Ventas", "Unidad", "Saldo Inicial", "SECCION", "DescripcionCorta" }; int i = 0; DataSet result = util.getExcel(); if (result == null) { return; } DataTable table = result.Tables[0]; progres.setData(0, table.Rows.Count, 1); progres.Show(); foreach (DataRow row in table.Rows) { if (i == 0) //revisar cabecera { if (!verificarCabecera(cabecera, row)) { MessageBox.Show("Archivo excel no cumple con el formato adecuado."); return; } } else { Decimal numero; articulo = new ARTICULO(); articulo.CODIGO = row[1].ToString(); articulo.DESCRIPCION = row[2].ToString(); articulo.PRECIOVENTA = Decimal.TryParse(row[3].ToString(), out numero) ? Decimal.Parse(row[3].ToString()) : 0; articulo.CANTIDAD = Decimal.TryParse(row[4].ToString(), out numero) ? Decimal.Parse(row[4].ToString()) : 0; articulo.CODIGOTIPOARTICULO = articuloservicio.getTipoArticulo(row[5].ToString()).CODIGOTIPOARTICULO; articulo.CODIGOIMPUESTO = articuloservicio.getImpuesto(CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA, row[6].ToString()).CODIGOIMPUESTO; articulo.SOLOCOMPRAS = row[7].ToString(); articulo.VENTAS = row[8].ToString(); articulo.CODIGOUNIDAD = articuloservicio.getUnidad(CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA, row[9].ToString()).CODIGOUNIDAD; articulo.SALDOINICIAL = Decimal.TryParse(row[9].ToString(), out numero) ? Decimal.Parse(row[9].ToString()) : 0; articulo.SECCION = row[10].ToString(); articulo.DESCRIPCIONCORTA = row[11].ToString(); articulo.CODIGOEMPRESA = CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA; articulo.COSTO = 0; articulo.ESTADO = "A"; articulo.FECHACREACION = DateTime.Now; articulo.FECHAMODIFICACION = DateTime.Now; try { articuloservicio.grabarArticuloImport(articulo, CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA); } catch (Exception ex) { } } i++; progres.refreshData(); } progres.Close(); }
public void enviarComprobante() { if (this.comprobante == null) { return; } Nasti.Datos.Utiles.UtilesElectronico util = new Nasti.Datos.Utiles.UtilesElectronico(); this.comprobante = new FacturaServicio().getComprobante(this.comprobante.CODIGOCOMPROBANTE); FormProgressBar progress = new FormProgressBar(); progress.setTexto("Generando XML"); progress.Show(); LlenarInformacionTributaria(comprobante.TIPOCOMPROBANTE.VERSION); byte[] archivo = util.serializar(factura); progress.setTexto("Firmando comprobante"); progress.Update(); byte[] archivoFirmado = util.firmarArchivo(archivo, comprobante.EMPRESA.CLAVEFIRMA, comprobante.EMPRESA.CODIGOEMPRESA, comprobante.EMPRESA.FIRMAELECTRONICA, comprobante.EMPRESA.PROVEEDORCERTIFICADO.SIGLA, comprobante.EMPRESA.RUC); if (archivoFirmado == null) { XtraMessageBox.Show("Error en el proceso de firmado. Contactese con el administrador del sistema"); return; } if (comprobante == null || archivoFirmado == null || comprobante.CLAVEDEACCESO == null) { return; } GeneralServicio generalServicio = new GeneralServicio(); PARAMETRO parametroSRI = generalServicio.getParametro(comprobante.EMPRESA.CODIGOEMPRESA, "ENVIAR_SRI"); if (parametroSRI != null) { if (parametroSRI.VALORSTRING.Equals("S")) { EnvioComprobantesWs envio = new EnvioComprobantesWs(); progress.setTexto("Enviando al SRI."); envio.obtenerRespuestaEnvio(archivoFirmado, comprobante.EMPRESA.RUC, comprobante.TIPOCOMPROBANTE.CODIGOSRI, comprobante.CLAVEDEACCESO.ToString()); this.respuestaSolicitud = envio.getRespuestaSolicitud(); this.respuestaAutorizacion = envio.getRespuestaAutorizacion(); progress.setTexto("Autorizando comprobante."); progress.Update(); if (respuestaSolicitud.getEstado().Equals("RECIBIDA")) { comprobante.ESTADO = (int)EnumEstadoComprobante.RECIBIDOSRI; envio.autorizarComprobante(comprobante.CLAVEDEACCESO); if (envio.getRespuestaAutorizacion().getAutorizaciones() != null) { envio.autorizarComprobante(comprobante.CLAVEDEACCESO); } if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO")) { comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO; XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion(); comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond()); comprobante.ARCHIVOAUTORIZADO = System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante()); } else { comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO; comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje(); } progress.setTexto("Actualizando comprobante en el sistema"); progress.Update(); facturaServicio.actualizarComprobante(comprobante); if (facturaServicio.ErrorNasti != null) { XtraMessageBox.Show(facturaServicio.ErrorNasti.Error); } //XtraMessageBox.Show("Existe un inconveniente al autorizar el comprobante"); } else if (respuestaSolicitud.getEstado().Equals("DEVUELTA")) { if (respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getIdentificador().Equals("43")) { if (respuestaSolicitud.getComprobantes().getComprobante()[0].getClaveAcceso().Equals(comprobante.CLAVEDEACCESO)) { try { progress.setTexto("Extrayendo nuevamente comprobante autorizado"); envio.autorizarComprobante(comprobante.CLAVEDEACCESO); this.respuestaAutorizacion = envio.getRespuestaAutorizacion(); if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO")) { progress.setTexto("COMPROBANTE AUTORIZADO"); progress.Update(); comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO; XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion(); comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond()); comprobante.ARCHIVOAUTORIZADO = new XStreamUtil().getResuestaStream(System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante()), comprobante.CLAVEDEACCESO, comprobante.FECHAAUTORIZACION.ToString(), comprobante.ESTADOCOMPROBANTE.DESCRIPCION); //enviar correo progress.setTexto("Enviando por correo."); progress.Update(); this.enviarCorreo(); } else { comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO; comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje(); } progress.setTexto("Actualizando el comprobante en el sistema"); new FacturaServicio().actualizarComprobante(comprobante); progress.Update(); } catch (Exception ex) { XtraMessageBox.Show(ex.ToString()); return; } } } else { XtraMessageBox.Show(respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getMensaje()); } } } } else { XtraMessageBox.Show("NO EXISTE PARAMETRO GENERAR_SRI"); } progress.Close(); }