/// <summary> /// Obtiene los datos del sobre de un xml /// </summary> /// <param name="sobre"></param> /// <returns></returns> private Sobre obtenerDatosSobre(Sobre sobre, string nombreSobre) { string nombreExt = nombreSobre + ".xml"; try { FTP ftp = new FTP(); //Se descarga el archivo del servidor ftp //ftp.descargarArchivos(nombreExt, RutasCarpetas.RutaCarpetaSobresTemporales, 5); //ftp.descargarArchivos(nombreExt, RutasCarpetas.RutaCarpetaSobresDgi, 10); //ftp.descargarArchivos(nombreExt, RutasCarpetas.RutaCarpetaComprobantes, 6); //Se borra del ftp //ftp.EliminarFTP(5, nombreExt); //ftp.EliminarFTP(10, nombreExt); //ftp.EliminarFTP(6, nombreExt); XmlDocument documento = new XmlDocument(); documento.Load(RutasCarpetas.RutaCarpetaContingenciaSobresDgi + nombreExt); sobre.Nombre = nombreSobre; } catch (Exception) { //Se muestra mensaje de error AdminEventosUI.mostrarMensaje(Mensaje.errNoDescargaSobres + nombreExt, AdminEventosUI.tipoMensajes.error); } return(sobre); }
/// <summary> /// Obtiene el valor del DocEntry para el rango seleccionado. Si no hay ningún rango seleccionado muestra un mensaje de error /// </summary> public string ObtenerRangoSeleccionado() { string docEntrySeleccionado = ""; //Obtiene el Formulario ObtenerFormulario("frmCAE"); //Obtiene la matriz matriz = ((Matrix)(Formulario.Items.Item("mtxRangos")).Specific); //Obtiene la fila seleccionada int numeroFila = matriz.GetNextSelectedRow(); //Validar que exista una fila seleccionada if (numeroFila > 0) { //Obtiene el DocEntry de la fila seleccionada docEntrySeleccionado = ((EditText)matriz.Columns.Item("#").Cells.Item(numeroFila).Specific).String; } else { //Muestra el mensaje de error cuando no se ha seleccionado ninguna fila AdminEventosUI.mostrarMensaje(Mensaje.errNingunRangoSelecccionado, AdminEventosUI.tipoError); } return(docEntrySeleccionado); }
/// <summary> /// Actualiza el valor ingresado en la columna "corregido con" /// </summary> public void Actualizar() { //Se obtiene el grid del formulariol Grid gridAnulados = (Grid)Formulario.Items.Item("grdAnu").Specific; Anulado anulado; System.Collections.ArrayList listaAnulados = new System.Collections.ArrayList(); ManteUdoCertificadoAnulado manteAnulado = new ManteUdoCertificadoAnulado(); for (int i = 0; i < gridAnulados.Rows.Count; i++) { anulado = new Anulado(); anulado.DocEntry = dtAnulados.GetValue("DocEntry", i).ToString(); anulado.CorregidoCon = dtAnulados.GetValue("Corregido Con", i).ToString(); listaAnulados.Add(anulado); } if (manteAnulado.ActualizarMaestro(listaAnulados)) { AdminEventosUI.mostrarMensaje(Mensaje.sucOperacionExitosa, AdminEventosUI.tipoExito); } else { AdminEventosUI.mostrarMensaje(Mensaje.errOperacionFallida, AdminEventosUI.tipoError); } }
/// <summary> /// Valida si el CAE es valido para asignarlo /// </summary> /// <returns></returns> public bool ValidarCAE(out int filaSeleccionadaGrid) { bool salida = true; Formulario.Freeze(true); Grid gridDisponible = (Grid)Formulario.Items.Item("grdQui").Specific; Grid gridAsignados = (Grid)Formulario.Items.Item("grdAsi").Specific; if (gridDisponible.Rows.SelectedRows.Count > 0) { int filaSeleccionada = gridDisponible.Rows.SelectedRows.Item(0, BoOrderType.ot_SelectionOrder); filaSeleccionadaGrid = filaSeleccionada; string tipoDocumento = gridDisponible.DataTable.Columns.Item(0).Cells.Item(filaSeleccionada).Value + ""; string numeroInicial = gridDisponible.DataTable.Columns.Item(3).Cells.Item(filaSeleccionada).Value + ""; string numeroActual = gridDisponible.DataTable.Columns.Item(5).Cells.Item(filaSeleccionada).Value + ""; string fechaVencimiento = gridDisponible.DataTable.Columns.Item(6).Cells.Item(filaSeleccionada).Value + ""; if (DateTime.Parse(fechaVencimiento) < DateTime.Now) { salida = false; AdminEventosUI.mostrarMensaje("Error: No se puede asignar el CAE, la fecha del CAE: " + fechaVencimiento + " es inválida.", AdminEventosUI.tipoMensajes.error); } else if (int.Parse(numeroActual) > int.Parse(numeroInicial)) { salida = false; AdminEventosUI.mostrarMensaje("Error: No se puede asignar el CAE, el CAE ya ha sido utilizado", AdminEventosUI.tipoMensajes.error); } else { int i = 0; while (i < gridAsignados.DataTable.Rows.Count) { if (tipoDocumento.Equals(gridAsignados.DataTable.Columns.Item(0).Cells.Item(i).Value)) { salida = false; AdminEventosUI.mostrarMensaje("Error: No se puede asignar el CAE, tipo de documento ya activado", AdminEventosUI.tipoMensajes.error); break; } i++; } } } else { filaSeleccionadaGrid = -1; AdminEventosUI.mostrarMensaje("Debe seleccionar una fila para poder realizar la asignación del CAE", AdminEventosUI.tipoMensajes.error); } Formulario.Freeze(false); return(salida); }
/// <summary> /// Actualiza los datos de los usuarios /// </summary> public void Actualizar() { DataTable dtUsuarios = Formulario.DataSources.DataTables.Item("udtUsr"); ManteUdoUsuarios manteUdoUsuario = new ManteUdoUsuarios(); for (int i = 0; i < dtUsuarios.Rows.Count; i++) { manteUdoUsuario.Actualizar(int.Parse(dtUsuarios.Columns.Item(0).Cells.Item(i).Value.ToString()), dtUsuarios.Columns.Item(3).Cells.Item(i).Value.ToString()); } //Muestra mensaje de informacion AdminEventosUI.mostrarMensaje(Mensaje.sucOperacionExitosa, AdminEventosUI.tipoExito); }
/// <summary> /// Ejecuta el metodo de envio de correo /// </summary> /// <param name="parametros"></param> private void EjecutaCorreo(object parametros) { DatosCorreo datosCorreo = parametros as DatosCorreo; if (!TipoCorreo(datosCorreo)) { if (Mail.errorCorreo.Equals("")) { AdminEventosUI.mostrarMensaje(Mensaje.errConfErroneaCorreo, AdminEventosUI.tipoMensajes.error); } else { AdminEventosUI.mostrarMensaje(Mensaje.err + Mail.errorCorreo, AdminEventosUI.tipoMensajes.error); } } }
/// <summary> /// Realiza todas las validaciones requeridas /// </summary> /// <returns></returns> public bool Validar() { if (!ValidarFormatoRUC()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoRuc, AdminEventosUI.tipoError); return(false); } else if (!ValiarFormatoNombre()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNombreEmisor, AdminEventosUI.tipoError); return(false); } else if (!ValidarFormatoNombreComercial()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNombreComercial, AdminEventosUI.tipoError); return(false); } else if (!ValidarFormatoNumeroResolucion()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNumResolucion, AdminEventosUI.tipoError); return(false); } else if (!ValidarRUC()) { AdminEventosUI.mostrarMensaje(Mensaje.errRucObligatorio, AdminEventosUI.tipoError); return(false); } else if (!ValidarNombre()) { AdminEventosUI.mostrarMensaje(Mensaje.errNombreEmisorObligatorio, AdminEventosUI.tipoError); return(false); } else if (!ValidarNombreComercial()) { AdminEventosUI.mostrarMensaje(Mensaje.errNombreComercialObligatorio, AdminEventosUI.tipoError); return(false); } else if (!ValidarNumeroResolucion()) { AdminEventosUI.mostrarMensaje(Mensaje.errNumResolucionObligatorio, AdminEventosUI.tipoError); return(false); } return(true); }
/// <summary> /// Almacena el estado cuando no existe, o lo actualiza cuando existe /// </summary> public bool Almacenar() { bool resultado = false; if (manteUdoEstadoContingencia.Consultar().Equals("")) { resultado = manteUdoEstadoContingencia.Almacenar(((CheckBox)Formulario.Items.Item("cbCont").Specific).Checked ? "Y" : "N"); } else { resultado = manteUdoEstadoContingencia.Actualizar(((CheckBox)Formulario.Items.Item("cbCont").Specific).Checked ? "Y" : "N"); } if (resultado) { AdminEventosUI.mostrarMensaje(Mensaje.sucOperacionExitosa, AdminEventosUI.tipoExito); } else { AdminEventosUI.mostrarMensaje(Mensaje.errOperacionFallida, AdminEventosUI.tipoError); } return(resultado); }
/// <summary> /// Obtiene los sobres en el grid /// </summary> /// <returns></returns> private List <SobresMasivos> ObtenerSobresGrid() { List <SobresMasivos> resultado = new List <SobresMasivos>(); int cantidadSobres = 0, i = 0; try { Grid grdEnv = (Grid)Formulario.Items.Item("grdEnv").Specific; cantidadSobres = grdEnv.DataTable.Rows.Count; while (i < cantidadSobres) { if (!grdEnv.DataTable.Columns.Item(1).Cells.Item(i).Value.ToString().Equals("")) { SobresMasivos temp = new SobresMasivos(); temp.Tipo = int.Parse(grdEnv.DataTable.Columns.Item(1).Cells.Item(i).Value + ""); temp.Serie = grdEnv.DataTable.Columns.Item(2).Cells.Item(i).Value + ""; temp.Numero = int.Parse(grdEnv.DataTable.Columns.Item(3).Cells.Item(i).Value + ""); resultado.Add(temp); } else { AdminEventosUI.mostrarMensaje("No hay sobres para enviar a DGI", AdminEventosUI.tipoMensajes.advertencia); } i++; } } catch (Exception ex) { app.MessageBox("Error:" + ex.ToString()); } return(resultado); }
/// <summary> /// Ejecuta todas las validaciones y muestra los mensajes de error necesarios /// </summary> /// <returns></returns> private bool Validar() { //--------------------------------// //********TIPO DE DOCUMENTO*******// //--------------------------------// //Valor ingresado if (!ValidarTipoDocumento()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncTipoDoc, AdminEventosUI.tipoError); return(false); } //-----------------------// //********SUCURSAL*******// //-----------------------// //Valor ingresado if (!ValidarSucursal()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncSucursal, AdminEventosUI.tipoError); return(false); } //-------------------// //********CAJA*******// //-------------------// //Valor ingresado if (!ValidarFormatoCaja()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoCaja, AdminEventosUI.tipoError); return(false); } //--------------------// //********SERIE*******// //--------------------// //Valor ingresado if (!ValidarSerie()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncSerie, AdminEventosUI.tipoError); return(false); } //Formato valido if (!ValidarFormatoSerie()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoSerie, AdminEventosUI.tipoError); return(false); } //-----------------------------// //********NUMERO INICIAL*******// //-----------------------------// //Valor ingresado if (!ValidarNumeroInicial()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncNumInicial, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoNumeroInicial()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNumInicial, AdminEventosUI.tipoError); return(false); } //---------------------------// //********NUMERO FINAL*******// //---------------------------// //Valor ingresado if (!ValidarNumeroFinal()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncNumFinal, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoNumeroFinal()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNumFinal, AdminEventosUI.tipoError); return(false); } //-----------------------------------// //********TIPO DE AUTORIZACION*******// //-----------------------------------// //Valor ingresado if (!ValidarTipoAutorizacion()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncTipoAutorizacion, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoTipoAutorizacion()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoTipoAutorizacion, AdminEventosUI.tipoError); return(false); } //-------------------------------------// //********NUMERO DE AUTORIZACION*******// //-------------------------------------// //Valor ingresado if (!ValidarNumeroAutorizacion()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncNumAutorizacion, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoNumeroAutorizacion()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoNumAutorizacion, AdminEventosUI.tipoError); return(false); } //-------------------------------// //********FECHA DE EMISION*******// //-------------------------------// //Valor ingresado if (!ValidarFechaEmision()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncFechaEmision, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoFechaEmision()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoFechaEmision, AdminEventosUI.tipoError); return(false); } //-----------------------------------// //********FECHA DE VENCIMIENTO*******// //-----------------------------------// //Valor ingresado if (!ValidarFechaVencimiento()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncFechaVencimiento, AdminEventosUI.tipoError); return(false); } //Formato correcto if (!ValidarFormatoFechaVencimiento()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoFechaVencimiento, AdminEventosUI.tipoError); return(false); } return(true); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFESOB y su hija /// @TFESOBDET. /// </summary> /// <param name="comp"></param> /// <param name="maestro"></param> /// <returns></returns> public bool AlmacenarMaestro(SobreReporte sobre) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFESOB"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores para cada una de las propiedades del udo dataGeneral.SetProperty("U_VerSobre", sobre.Version); dataGeneral.SetProperty("U_RucRec", sobre.RucReceptor.ToString()); dataGeneral.SetProperty("U_RucEmi", sobre.RucEmisor.ToString()); dataGeneral.SetProperty("U_IdResp", sobre.IdRespuesta.ToString()); dataGeneral.SetProperty("U_NomArc", sobre.NombreArchivo); dataGeneral.SetProperty("U_FeHoEnRe", sobre.FechaHoraRecepcion); dataGeneral.SetProperty("U_IdEmi", sobre.IdEmisor.ToString()); dataGeneral.SetProperty("U_IdRec", sobre.IdReceptor.ToString()); dataGeneral.SetProperty("U_CantComp", sobre.CantidadComprobantes); dataGeneral.SetProperty("U_FeHoFiEl", sobre.FechaHoraFirma); if (sobre.DetalleSobre != null) { detalle = dataGeneral.Child("TFESOBDET"); foreach (DetSobre detalleSobre in sobre.DetalleSobre) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_EstRecEnv", detalleSobre.EstadoRecepcion); dataDetalle.SetProperty("U_CodMotRec", detalleSobre.CodigoMotivoRechazo); dataDetalle.SetProperty("U_GloMotRec", detalleSobre.GlosaMotivoRechazo); dataDetalle.SetProperty("U_DetRec", detalleSobre.DetalleRechazo); } } //Agregar el nuevo registro a la base de dato utilizando el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception ex) { AdminEventosUI.mostrarMensaje("Error: Al guardar información del Sobre" + ex.ToString(), AdminEventosUI.tipoMensajes.error); } finally { if (dataGeneral != null) { //Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (dataDetalle != null) { //Liberar memoria utlizada por el objeto dataDetalle System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } if (detalle != null) { //Liberar memoria utlizada por el objeto detalle System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } if (servicioGeneral != null) { ////Liberar memoria utlizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } } return(resultado); }
/// <summary> /// Metodo que llama a la generacion de documentos de tipo pdf /// Firmados digitalmente /// </summary> /// <param name="cfe"></param> /// <param name="cae"></param> /// <param name="kilosFactura"></param> /// <param name="tabla"></param> /// <param name="descuentoGeneral"></param> public void CrearPDF(CFE cfe, CAE cae, DatosPDF datosPdf, string tabla, List <ResguardoPdf> resguardoPdf, string tablaCabezal) { try { if (cae != null) { RutasCarpetas rutas = new RutasCarpetas(); rutas.generarCarpetas(); //Llamada a metodo para comprobar si hay datos de firma digital ObtenerFirmaDigital(); //Crear instancia de Pdfs pdfs = new PDFs(cfe, cae, datosPdf.KilosFactura); ////Se genera el archivo xml //ArchivoXml archXml = new ArchivoXml(); //archXml.generarXml(cfe, cae); //Crear pdf y validar creacion #region Proceso_WebService if (pdfs.CrearPDF(tabla, datosPdf, resguardoPdf, tablaCabezal)) //if (pdfs.CrearPDF(tabla, datosPdf, resguardoPdf, tablaCabezal, cfe.OrigenFE)) *** Se comenta porque se hace esto para todos los casos! #endregion Proceso_WebService { if (EventosPagina.errorRutaLogo) { //Se informa al usuario de que la ruta especificada para el logo es incorrecta app.MessageBox(Mensaje.errRutaLogoIncorrecta); EventosPagina.errorRutaLogo = false; } if (FrmEstadoContingencia.estadoContingencia.Equals("Y")) { AdminEventosUI.mostrarMensaje(Mensaje.sucFactura, AdminEventosUI.tipoMensajes.exito); } else { AdminEventosUI.mostrarMensaje(Mensaje.sucFacturaCorreo, AdminEventosUI.tipoMensajes.exito); } } else { if (!EventosPagina.errorRutaLogo && !PDFs.errorCertificado && !PDFs.errorFirma && !PDFs.errorCorreo && !PDFs.errorImprimir) { AdminEventosUI.mostrarMensaje(Mensaje.errFalloGenerarPdf, AdminEventosUI.tipoMensajes.error); } if (EventosPagina.errorRutaLogo) { AdminEventosUI.mostrarMensaje(Mensaje.errRutaLogoIncorrecta, AdminEventosUI.tipoMensajes.error); EventosPagina.errorRutaLogo = false; } if (PDFs.errorCertificado) { AdminEventosUI.mostrarMensaje(Mensaje.errDatosNoConfigurados, AdminEventosUI.tipoMensajes.error); PDFs.errorCertificado = false; } if (PDFs.errorFirma) { AdminEventosUI.mostrarMensaje(Mensaje.errFalloFirmaPdf, AdminEventosUI.tipoMensajes.error); PDFs.errorFirma = false; } if (PDFs.errorCorreo) { if (Mail.errorCorreo.Equals("")) { AdminEventosUI.mostrarMensaje(Mensaje.errConfErroneaCorreo, AdminEventosUI.tipoMensajes.error); } else { AdminEventosUI.mostrarMensaje(Mensaje.err + Mail.errorCorreo, AdminEventosUI.tipoMensajes.error); } PDFs.errorCorreo = false; } if (PDFs.errorImprimir) { AdminEventosUI.mostrarMensaje(Mensaje.errFalloImprimirPdf, AdminEventosUI.tipoMensajes.error); PDFs.errorImprimir = false; } } } else { AdminEventosUI.mostrarMensaje(Mensaje.errConfErroneaCae, AdminEventosUI.tipoMensajes.error); } } catch (Exception ex) { app.MessageBox("JobEnvioSobre/Error: " + ex.ToString()); } }
/// <summary> /// Realizar las validaciones y mostrar mensajes de error /// </summary> /// <returns></returns> private bool Validar() { //------------------// //********URL*******// //------------------// //Valor ingresado if (!ValidarUrl()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncUrlRepositorio, AdminEventosUI.tipoError); return(false); } //----------------------// //********USUARIO*******// //----------------------// //Valor ingresado if (!ValidarUsuario()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncUsuario, AdminEventosUI.tipoError); return(false); } //--------------------// //********CLAVE*******// //--------------------// //Valor ingresado if (!ValidarClave()) { AdminEventosUI.mostrarMensaje(Mensaje.errValIncClave, AdminEventosUI.tipoError); return(false); } //------------------// //********URL*******// //------------------// //Formato correcto if (!ValidarUrl()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoUrlRepositorio, AdminEventosUI.tipoError); return(false); } //----------------------// //********USUARIO*******// //----------------------// //Formato correcto if (!ValidarUsuario()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoUsuario, AdminEventosUI.tipoError); return(false); } //--------------------// //********CLAVE*******// //--------------------// //Formato correcto if (!ValidarClave()) { AdminEventosUI.mostrarMensaje(Mensaje.errFormatoClave, AdminEventosUI.tipoError); return(false); } return(true); }