Esempio n. 1
0
        private void cboTipoDoc_SelectionChangeCommitted_1(object sender, EventArgs e)
        {
            String dato;

            dato   = Convert.ToString(cboTipoDoc.SelectedValue);
            Numera = AdmNumera.BuscaNumeracion(Convert.ToString(dato));


            string str = Convert.ToString(Numera.Numeracion);
            char   pad = '0';

            if (Convert.ToDouble(dato) == 01)
            {
                numeracion = Numera.Serie + "-" + str.PadLeft(8, pad);
            }
            else if (Convert.ToDouble(dato) == 03)
            {
                numeracion = Numera.Serie + "-" + str.PadLeft(8, pad);
            }
            else if (Convert.ToDouble(dato) == 07)
            {
                numeracion = Numera.Serie + "-" + str.PadLeft(8, pad);
            }
            else if (Convert.ToDouble(dato) == 08)
            {
                numeracion = Numera.Serie + "-" + str.PadLeft(8, pad);
            }
            _documento.IdDocumento = numeracion.ToString();
            textBox17.Text         = numeracion.ToString();
        }
        public clsNumeracion BuscaNumeracionDocBaja(String TipoDocumento)
        {
            clsNumeracion ser = null;

            try
            {
                con.conectarBD();
                cmd = new MySqlCommand("BuscarNumeracion", con.conector);
                cmd.Parameters.AddWithValue("tipdoc", TipoDocumento);
                cmd.CommandType = CommandType.StoredProcedure;
                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        ser                 = new clsNumeracion();
                        ser.IDDocumento     = Convert.ToInt32(dr.GetDecimal(0));
                        ser.TipoDocumento   = Convert.ToString(dr.GetString(1));
                        ser.NombreDocumento = Convert.ToString(dr.GetString(2));
                        ser.Serie           = Convert.ToString(dr.GetString(3));
                        ser.Numeracion      = Convert.ToInt32(dr.GetInt32(4));
                    }
                }
                return(ser);
            }
            catch (MySqlException ex)
            {
                throw ex;
            }
            finally { con.conector.Dispose(); cmd.Dispose(); con.desconectarBD(); }
        }
Esempio n. 3
0
        public clsNumeracion BuscaNumeracion(String TipoDocumento)
        {
            clsNumeracion ser = null;

            try
            {
                con.conectarBD();
                cmd             = new  SqlCommand("Select * From INT_DOCELECAB", con.conector);
                cmd.CommandType = CommandType.Text;
                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        ser = new clsNumeracion();

                        //ser.TipoDocumento = Convert.ToString(dr.GetString(1));
                        ser.TipoDocumento = Convert.ToString(dr.GetString(2));

                        /* ser.NombreDocumento = Convert.ToString(dr.GetString(2));
                         * ser.Serie = Convert.ToString(dr.GetString(3));
                         * ser.Numeracion = Convert.ToInt32(dr.GetInt32(4));*/
                    }
                }
                return(ser);
            }
            catch (MySqlException ex)
            {
                throw ex;
            }
            finally { con.conector.Dispose(); cmd.Dispose(); con.desconectarBD(); }
        }
        public Boolean ActualizaNumeracion(clsNumeracion Numeracion)
        {
            try
            {
                con.conectarBD();

                cmd             = new MySqlCommand("ActualizaNumeracion", con.conector);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("tipdoc", Numeracion.TipoDocumento);
                cmd.Parameters.AddWithValue("seriec", Numeracion.Serie);

                int x = cmd.ExecuteNonQuery();
                if (x != 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (MySqlException ex)
            {
                throw ex;
            }
            finally { con.conector.Dispose(); cmd.Dispose(); con.desconectarBD(); }
        }
Esempio n. 5
0
        private void CargaNumDocBaja()
        {
            Numera = AdmNumera.BuscaNumeracion("RA");
            string str = Convert.ToString(Numera.Numeracion);

            //char pad = '0';
            //numeracion = str.PadLeft(8, pad);
            txtcorrelativo2.Text = str.ToString();
        }
Esempio n. 6
0
 public void limpiar()
 {
     dg_repositorio.DataSource = null;
     tabla      = null;
     numeracion = null;
     cb_tipodoc.SelectedIndex = 0;
     dtp_fecha.Value          = DateTime.Now;
     cb_estado.SelectedIndex  = 0;
 }
Esempio n. 7
0
        public FrmDocumento()
        {
            InitializeComponent();
            Numera = AdmNumera.BuscaNumeracionFac();
            string str = Convert.ToString(Numera.Numeracion);
            char   pad = '0';

            _documento = new DocumentoElectronico
            {
                FechaEmision = DateTime.Today.ToShortDateString(),
                //IdDocumento = Numera.Serie+ "-" + str.PadLeft(8, pad)
            };
            Inicializar();
            if (_documento.Receptor != null)
            {
                txtNroDocRec.Text      = _documento.Receptor.NroDocumento;
                txtNombreLegalRec.Text = _documento.Receptor.NombreLegal;
                txtDirRec.Text         = _documento.Receptor.Direccion;
            }
        }
Esempio n. 8
0
        public void listar_repositorio()
        {
            int estado = -1;

            numeracion = null;
            dg_repositorio.DataSource = null;
            estado = cb_estado.SelectedIndex == 0 ? -1 : 0;

            if (lista_numeracion != null)
            {
                if (lista_numeracion.Count > 0)
                {
                    numeracion        = lista_numeracion[cb_tipodoc.SelectedIndex];
                    numeracion.Fecha  = dtp_fecha.Value;
                    numeracion.Estado = estado;

                    tabla = admrepo.listar_repositorio_xtsfe(numeracion);

                    if (tabla != null)
                    {
                        if (tabla.Rows.Count > 0)
                        {
                            dg_repositorio.DataSource = tabla;
                        }
                        else
                        {
                            MessageBox.Show("No se encontraron Documentos para la fecha...", "Información");
                        }
                    }
                    else
                    {
                        MessageBox.Show("No se encontraron Documentos para la fecha...", "Información");
                    }
                }
            }
        }
        public DataTable listar_repositorio_xtsfe(clsNumeracion numeracion)
        {
            tabla = new DataTable();

            using (con.conectarBD())
            {
                cmd             = new MySqlCommand("listar_repositorio_xtsfe", con.conector);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new MySqlParameter("@_tipocomprobante", MySqlDbType.VarChar));
                cmd.Parameters.Add(new MySqlParameter("@_serie", MySqlDbType.VarChar));
                cmd.Parameters.Add(new MySqlParameter("@_fechaemision", MySqlDbType.Date));
                cmd.Parameters.Add(new MySqlParameter("@_estadosunat", MySqlDbType.Int32));

                cmd.Parameters[0].Value = numeracion.TipoDocumento;
                cmd.Parameters[1].Value = numeracion.Serie;
                cmd.Parameters[2].Value = numeracion.Fecha;
                cmd.Parameters[3].Value = numeracion.Estado;

                adap = new MySqlDataAdapter(cmd);
                adap.Fill(tabla);
            }

            return(tabla);
        }
        public List <clsNumeracion> listar_Numeracion()
        {
            List <clsNumeracion> lista_numeracion = null;
            clsNumeracion        ser = null;

            try
            {
                con.conectarBD();
                cmd             = new MySqlCommand("listar_numeracion", con.conector);
                cmd.CommandType = CommandType.StoredProcedure;
                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    lista_numeracion = new List <clsNumeracion>();

                    while (dr.Read())
                    {
                        ser                 = new clsNumeracion();
                        ser.IDDocumento     = Convert.ToInt32(dr.GetDecimal(0));
                        ser.TipoDocumento   = Convert.ToString(dr.GetString(1));
                        ser.NombreDocumento = Convert.ToString(dr.GetString(2));
                        ser.Serie           = Convert.ToString(dr.GetString(3));
                        ser.Numeracion      = Convert.ToInt32(dr.GetInt32(4));
                        lista_numeracion.Add(ser);
                    }
                }
                return(lista_numeracion);
            }
            catch (MySqlException ex)
            {
                return(lista_numeracion);

                throw ex;
            }
            finally { con.conector.Dispose(); cmd.Dispose(); con.desconectarBD(); }
        }
Esempio n. 11
0
        private void FrmDocumento_Load(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;

                using (var ctx = new OpenInvoicePeruDb())
                {
                    tipoDocumentoBindingSource.DataSource = ctx.TipoDocumentos.ToList();
                    tipoDocumentoBindingSource.ResetBindings(false);

                    tipoDocumentoContribuyenteBindingSource.DataSource = ctx.TipoDocumentoContribuyentes.ToList();
                    tipoDocumentoContribuyenteBindingSource.ResetBindings(false);

                    tipoDocumentoAnticipoBindingSource.DataSource = ctx.TipoDocumentoAnticipos.ToList();
                    tipoDocumentoAnticipoBindingSource.ResetBindings(false);

                    tipoOperacionBindingSource.DataSource = ctx.TipoOperaciones.ToList();
                    tipoOperacionBindingSource.ResetBindings(false);

                    monedaBindingSource.DataSource = ctx.Monedas.ToList();
                    monedaBindingSource.ResetBindings(false);
                }

                if (_documento.TipoDocumento != null)
                {
                    cboTipoDoc.SelectedValue = _documento.TipoDocumento;
                    String dato;
                    dato   = Convert.ToString(cboTipoDoc.SelectedValue);
                    Numera = AdmNumera.BuscaNumeracion(Convert.ToString(dato));
                    string str = Convert.ToString(Numera.Numeracion);
                    char   pad = '0';
                    numeracion             = Numera.Serie + "-" + str.PadLeft(8, pad);
                    textBox17.Text         = numeracion.ToString();
                    _documento.IdDocumento = numeracion;
                }
                else
                {
                    cboTipoDoc.SelectedIndex = -1;
                }

                comboBox1.SelectedIndex = -1;
                //cboTipoDocRec.SelectedIndex = -1;
                cboTipoDocRec2.SelectedIndex = -1;
                comboBox1.SelectedIndex      = -1;
                txtCorrelativo3.Text         = "R001-0001";
                cboMoneda2.SelectedIndex     = 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                Cursor = Cursors.Default;
            }

            #region CARGAR RUC
            try
            {
                CargarImagenSunat();
                LeerCaptchaSunat();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            #endregion
        }
 public Boolean ActualizaNumeracion(clsNumeracion Numeracion)
 {
     return(MNum.ActualizaNumeracion(Numeracion));
 }
Esempio n. 13
0
        private void kryptonButton3_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                string codigoTipoDoc;
                switch (cboTipoDoc.SelectedIndex)
                {
                case 0:
                    codigoTipoDoc = "01";
                    break;

                case 1:
                    codigoTipoDoc = "03";
                    break;

                case 2:
                    codigoTipoDoc = "07";
                    break;

                case 3:
                    codigoTipoDoc = "08";
                    break;

                case 4:
                    codigoTipoDoc = "20";
                    break;

                case 5:
                    codigoTipoDoc = "40";
                    break;

                case 6:
                    codigoTipoDoc = "RC";
                    break;

                case 7:
                    codigoTipoDoc = "RA";
                    break;

                default:
                    codigoTipoDoc = "01";
                    break;
                }
                if (cboTipoDoc.SelectedIndex == -1)
                {
                    MessageBox.Show("Seleccione Tipo de documento");
                    throw new InvalidOperationException("Seleccione Tipo de documento");
                }

                /* if (_documento.TipoDocumento != codigoTipoDoc) {
                 *   MessageBox.Show("Seleccione Tipo de Documento Igual al Documento Generado..!");
                 *   throw new InvalidOperationException("Seleccione Tipo de Documento Igual al Documento Generado..!");
                 * }*/
                if (string.IsNullOrEmpty(txtSerieCorrelativo.Text))
                {
                    throw new InvalidOperationException("La Serie y el Correlativo no pueden estar vacíos");
                }

                var tramaXmlSinFirma = Convert.ToBase64String(File.ReadAllBytes(txtSource.Text));

                var firmadoRequest = new FirmadoRequest
                {
                    TramaXmlSinFirma    = tramaXmlSinFirma,
                    CertificadoDigital  = Convert.ToBase64String(File.ReadAllBytes(txtRutaCertificado.Text)),
                    PasswordCertificado = txtPassCertificado.Text,
                    UnSoloNodoExtension = rbRetenciones.Checked || rbResumen.Checked
                };


                FirmarController enviar = new FirmarController();

                var respuestaFirmado = enviar.FirmadoResponse(firmadoRequest);

                if (!respuestaFirmado.Exito)
                {
                    throw new ApplicationException(respuestaFirmado.MensajeError);
                }



                var enviarDocumentoRequest = new EnviarDocumentoRequest
                {
                    Ruc         = txtNroRuc.Text,
                    UsuarioSol  = txtUsuarioSol.Text,
                    ClaveSol    = txtClaveSol.Text,
                    EndPointUrl = ValorSeleccionado(),
                    //https://www.sunat.gob.pe/ol-ti-itcpgem-sqa/billService //RETENCION
                    IdDocumento     = txtSerieCorrelativo.Text,
                    TipoDocumento   = codigoTipoDoc,
                    TramaXmlFirmado = respuestaFirmado.TramaXmlFirmado
                };



                // RespuestaComun respuestaEnvio;
                var respuestaEnvio = new EnviarDocumentoResponse();
                var apiMetodo      = rbResumen.Checked ? "EnviarResumen" : "EnviarDocumento";

                if (!rbResumen.Checked)
                {
                    if (apiMetodo == "EnviarDocumento")
                    {
                        EnviarDocumentoController enviarDoc = new EnviarDocumentoController();
                        respuestaEnvio = enviarDoc.EnviarDocumentoResponse(enviarDocumentoRequest);
                    }
                    // var rpta =new EnviarDocumentoResponse() ;//(EnviarDocumentoResponse)respuestaEnvio;
                    var rpta = (EnviarDocumentoResponse)respuestaEnvio;
                    txtResult.Text = $@"{Resources.procesoCorrecto}{Environment.NewLine}{rpta.MensajeRespuesta} siendo las {DateTime.Now}";
                    try
                    {
                        //ACTUALIZA CORRELATIVO SI EL DOCUMENTO FUE ACEPTADO
                        if (_documento.Items != null && _documento.Receptor.NroDocumento != "")
                        {
                            clsNumeracion busnum = new clsNumeracion();
                            busnum = AdmNumeracion.BuscaNumeracion(_documento.TipoDocumento);
                            Numeracion.TipoDocumento = Convert.ToString(_documento.TipoDocumento);
                            Numeracion.Numeracion    = busnum.Numeracion + 1;
                            if (!AdmNumeracion.ActualizaNumeracion(Numeracion))
                            {
                                MessageBox.Show("Ocurrió un Error al Actualizar la Numeración");
                            }
                        }
                        if (rpta.Exito && !string.IsNullOrEmpty(rpta.TramaZipCdr))
                        {
                            File.WriteAllBytes($"{Program.CarpetaXml}\\{rpta.NombreArchivo}.xml",
                                               Convert.FromBase64String(respuestaFirmado.TramaXmlFirmado));

                            File.WriteAllBytes($"{Program.CarpetaCdr}\\R-{rpta.NombreArchivo}.zip",
                                               Convert.FromBase64String(rpta.TramaZipCdr));
                            _documento.FirmaDigital = respuestaFirmado.ValorFirma;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    if (apiMetodo == "EnviarResumen")
                    {
                        EnviarResumenController enviaResumen = new EnviarResumenController();
                        respuestaEnvio = enviaResumen.EnviarResumenResponse(enviarDocumentoRequest);
                    }

                    var rpta = (EnviarDocumentoResponse)respuestaEnvio;
                    txtResult.Text = $@"{Resources.procesoCorrecto}{Environment.NewLine}{rpta.NroTicket}";
                    if (rpta.Exito)
                    {
                        if (codigoTipoDoc == "RA")
                        {
                            clsNumeracion busnum = new clsNumeracion();
                            busnum = AdmNumeracion.BuscaNumeracion(codigoTipoDoc);
                            Numeracion.TipoDocumento = Convert.ToString(codigoTipoDoc);
                            Numeracion.Numeracion    = busnum.Numeracion + 1;
                            if (!AdmNumeracion.ActualizaNumeracion(Numeracion))
                            {
                                MessageBox.Show("Ocurrió un Error al Actualizar la Numeración");
                            }
                        }
                    }
                }

                if (!respuestaEnvio.Exito)
                {
                    throw new ApplicationException(respuestaEnvio.MensajeError);
                }
            }
            catch (Exception ex)
            {
                txtResult.Text = ex.Message;
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }
Esempio n. 14
0
 public DataTable listar_repositorio_xtsfe(clsNumeracion numeracion)
 {
     return(irepo.listar_repositorio_xtsfe(numeracion));
 }