Beispiel #1
0
        public void SubTicketAFIP()
        {
            //Dimensiono una variable propia (todas las vp... lo son)
            vpAFIPTicket TicketAccAFIP = default(vpAFIPTicket);


            //Esta Function Obtiene un ticket de acceso a la AFIP
            TicketAccAFIP = AFIP.TicketAccesoAFIP();

            //Aqui lo que se hace es pasar los datos del token y el sign para dos txt que estan en el formulario
            //La idea es sacar estas lineas pronto porque son obsoletas
            //30/5/13
            lblToken.Text = TicketAccAFIP.vpAFIPTicketToken;
            lblSign.Text  = TicketAccAFIP.vpAFIPTicketSign;



            //Cargo los datos del Ticket en una clase publica que esta en el MDI
            //de esta manera lo que hago es que este disponible para todo el proyecto
            //Cada vez que se use en una factura corroborará el ticket y de esta manera no hay que
            //cerrar la ventana para hacer otra factura.
            //El ticket es algo importante por eso pienso que debe estar en el MDI para que sea de acceso
            //publico.
            //30/5/13
            MDIPrincipal.ClaseAFIP.ptAFIPTicketToken          = TicketAccAFIP.vpAFIPTicketToken;
            MDIPrincipal.ClaseAFIP.ptAFIPTicketSign           = TicketAccAFIP.vpAFIPTicketSign;
            MDIPrincipal.ClaseAFIP.ptAFIPTicketGenerationTime = TicketAccAFIP.vpAFIPTicketGenerationTime;
            MDIPrincipal.ClaseAFIP.ptAFIPTicketExpirationTime = TicketAccAFIP.vpAFIPTicketExpirationTime;
            MDIPrincipal.ClaseAFIP.ptAFIPTicketService        = TicketAccAFIP.vpAFIPTicketService;
            MDIPrincipal.ClaseAFIP.ptAFIPTicketUniqueID       = TicketAccAFIP.vpAFIPTicketUniqueID;

            My.MyProject.Forms.MDIPrincipal.ToolStripStatusEstadoServidor.Text = "SI";
        }
Beispiel #2
0
/// <summary>
/// Obtiene un Ticket de Acceso para consumir WS
/// </summary>
/// <returns></returns>
        public static vpAFIPTicket TicketAccesoAFIP()
        {
            #region VARIABLES
            vpAFIPTicket Ticket = new vpAFIPTicket();

            string strUrlWsaaWsdl       = "https://wsaa.afip.gov.ar/ws/services/LoginCms?WSDL";
            string strIdServicioNegocio = "wsfe";
            string strRutaCertSigner    = ConfigurationManager.AppSettings["AFIPCertificadosRuta"] +
                                          ConfigurationManager.AppSettings["AFIPCertificadosCert"];
            //string strRutaCertSigner = "C:\\OpenSSL-Win32\\bin\\2017alias.pfx" ; //TODO: poner en donde esta el certificado
            string       clave = "AF";
            SecureString strPasswordSecureString = new SecureString();

            //Setea a Nulo
            LoginTicket objTicketRespuesta = null;
            string      strTicketRespuesta = null;

            #endregion



            //Esto hace la clave del certificado
            foreach (char c in clave)
            {
                strPasswordSecureString.AppendChar(c);
            }
            strPasswordSecureString.MakeReadOnly();



            try
            {
                objTicketRespuesta = new LoginTicket();

                strTicketRespuesta = objTicketRespuesta.ObtenerLoginTicketResponse(strIdServicioNegocio,
                                                                                   strUrlWsaaWsdl,
                                                                                   strRutaCertSigner,
                                                                                   strPasswordSecureString);


                MessageBox.Show("***CONTENIDO DEL TICKET RESPUESTA:" + Environment.NewLine +
                                "   Token:" + objTicketRespuesta.Token + Environment.NewLine +
                                "   Sign:" + objTicketRespuesta.Sign + Environment.NewLine +
                                "   GenerationTime:" + Convert.ToString(objTicketRespuesta.GenerationTime) + Environment.NewLine +
                                "   ExpirationTime:" + Convert.ToString(objTicketRespuesta.ExpirationTime) + Environment.NewLine +
                                "   Service:" + objTicketRespuesta.Service + Environment.NewLine +
                                "   UniqueID:" + Convert.ToString(objTicketRespuesta.UniqueId));

                Ticket.vpAFIPTicketSign           = objTicketRespuesta.Sign;
                Ticket.vpAFIPTicketToken          = objTicketRespuesta.Token;
                Ticket.vpAFIPTicketGenerationTime = objTicketRespuesta.GenerationTime;
                Ticket.vpAFIPTicketExpirationTime = objTicketRespuesta.ExpirationTime;
                Ticket.vpAFIPTicketService        = objTicketRespuesta.Service;
                Ticket.vpAFIPTicketUniqueID       = objTicketRespuesta.UniqueId;
            }
            catch (Exception excepcionAlObtenerTicket)
            {
                MessageBox.Show("***EXCEPCION AL OBTENER TICKET: " + excepcionAlObtenerTicket.Message);
            }



            //HASTA ACA EL EL TEMA DEL TICKET


            //LO QUE SIGUE TENDRIA QUE IR EN OTRA FUNCION



            //12/06/2012 La AFIP retiro unilateralmente la posibilidad de obtener el Tipo de Cambio
            //frmDocFiscal3.lblDolar.Text = CotizacionDivisa("DOL", Ticket.vpAFIPTicketToken, Ticket.vpAFIPTicketSign)
            //frmDocFiscal3.lblDolar.Text = CotizacionDivisa("PES", Ticket.vpAFIPTicketToken, Ticket.vpAFIPTicketSign)



            //Facturacion Electronica Requerimiento de Autorizacion
            servicios1.afip.gov.ar.FEAuthRequest objFEAuthRequest = new servicios1.afip.gov.ar.FEAuthRequest();



            objFEAuthRequest.Cuit = Convert.ToInt64("30708466200");
            //este es el CUIT guardado en la compu
            objFEAuthRequest.Token = Ticket.vpAFIPTicketToken;
            objFEAuthRequest.Sign  = Ticket.vpAFIPTicketSign;



            //ESTO ES DEL TICKET PARA GUARDARLO EN EL DISCO

            // Obtengo los XML de request/response y los escribo en el disco
            XmlSerializer writer1 = new XmlSerializer(typeof(servicios1.afip.gov.ar.FEAuthRequest));
            StreamWriter  file1   = new StreamWriter("C:\\" + Convert.ToString(objTicketRespuesta.Service) + " - " +
                                                     Convert.ToString(objTicketRespuesta.UniqueId) + " - " +
                                                     Ticket.vpAFIPTicketExpirationTime.ToString().Replace("/", "-").ToString().Replace(":", "=") + ".xml");
            writer1.Serialize(file1, objFEAuthRequest);
            file1.Close();


            return(Ticket);
        }