示例#1
0
        /// <summary>
        /// Envia comprobante y sobre al correo receptor
        /// </summary>
        /// <param name="tipoDocumento"></param>
        /// <param name="serie"></param>
        /// <param name="numeroDocumento"></param>
        public void EnviarCorreo(string tipoDocumento, string serie, string numeroDocumento)
        {
            ManteUdoMonCerContingencia manteContingencia = new ManteUdoMonCerContingencia();
            string correoReceptor = manteContingencia.ObtenerCorreoReceptor(tipoDocumento, serie, numeroDocumento);

            if (!correoReceptor.Equals(""))
            {
                tipoCorreo(tipoDocumento + serie + numeroDocumento, correoReceptor);
            }
        }
示例#2
0
        /// <summary>
        /// Obtener lista de sobres en la carpeta de contingencia
        /// </summary>
        /// <param name="idGrid"></param>
        /// <returns></returns>
        public bool EnviarSobreDGI(string idGrid)
        {
            ManteUdoMonCerContingencia manteContingencia = new ManteUdoMonCerContingencia();
            List <Sobre> listaSobres = new List <Sobre>();
            FTP          ftp         = new FTP();
            bool         resultado   = false;

            dgiContingencia = true;

            try
            {
                //Obtiene la firma digital
                ObtenerFirmaDigital();
                //Obtiene la url del web service de consulta
                ObtenerUrlWebService();

                //Obtiene el grid del formulario
                Grid   grdCerCon = (Grid)Formulario.Items.Item(idGrid).Specific;
                int    fila = 0, filaSeleccionada = 0;
                string nombreTemp = "", tipoDocumento = "", serie = "", numeroDocumento = "", docEntry = "";

                //Recorre las filas para determinar la fila seleccionada
                while (fila < grdCerCon.Rows.Count)
                {
                    //Se obtiene la fila seleccionada del grid
                    if (grdCerCon.Rows.IsSelected(fila))
                    {
                        //Asigna la fila seleccionada
                        filaSeleccionada = fila;
                        fila             = grdCerCon.Rows.Count + 1;
                    }
                    fila++;
                }
                //Obtiene el nombre compuesto de las columnas del grid
                tipoDocumento   = grdCerCon.DataTable.Columns.Item("Tipo de Documento").Cells.Item(filaSeleccionada).Value.ToString();
                serie           = grdCerCon.DataTable.Columns.Item("Serie").Cells.Item(filaSeleccionada).Value.ToString();
                numeroDocumento = grdCerCon.DataTable.Columns.Item("Número de Documento").Cells.Item(filaSeleccionada).Value.ToString();
                nombreTemp      = tipoDocumento + serie + numeroDocumento;

                Sobre sobre = new Sobre();
                //Obtiene los datos del sobre xml qhe baja del Ftp
                sobre = obtenerDatosSobre(sobre, nombreTemp);
                listaSobres.Add(sobre);

                //Metodo encargado de buscar el correo receptor y enviar por correo sobre.xml y comprobante.pdf
                EnviarCorreo(tipoDocumento, serie, numeroDocumento);

                //Envia el sobre a DGI
                EnviarSobre(sobre);
                //Obtiene el DocEntry
                docEntry = manteContingencia.ObtenerDocEntry(tipoDocumento, serie, numeroDocumento);
                manteContingencia.CopiarCFE(docEntry);
                //Se elimina de la tabla TFECERCON
                manteContingencia.Eliminar(docEntry);

                resultado = true;
            }
            catch (Exception)
            {
            }
            finally
            {
                dgiContingencia = false;
            }

            return(resultado);
        }