示例#1
0
        /// <summary>
        /// Guarda un ticket de acceso en la base de datos, para reusarlo mientras sea válido.
        /// </summary>
        protected void GuardarTicketDeAcceso(Afip.Ws.Autenticacion.TicketAcceso ta)
        {
            try {
                // Generar una cadena con el TA
                var CadenaTa = ta.Token + "|lazaro_separador|" + ta.Sign + "|lazaro_separador|" + Lfx.Types.Formatting.FormatDateTimeSql(ta.GenerationTime) + "|lazaro_separador|" + Lfx.Types.Formatting.FormatDateTimeSql(ta.ExpirationTime);

                // Escribirlo en un archivo en el disco
                var RutaTa = System.IO.Path.Combine(Lfx.Environment.Folders.TemporaryFolder, "ticketacceso.dat");
                System.IO.File.WriteAllText(RutaTa, CadenaTa);

                // Guardarlo en la base de datos
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("AFIP.TicketAcceso", CadenaTa);
            } catch {
                // Nada
            }
        }
示例#2
0
        protected Afip.Ws.Autenticacion.TicketAcceso DecodificarTicketDeAcceso(string cadenaTa)
        {
            try {
                if (string.IsNullOrWhiteSpace(cadenaTa) == false)
                {
                    // Hay un ticket guardado en la configuración
                    var Partes = cadenaTa.Split(new string[] { "|lazaro_separador|" }, StringSplitOptions.None);
                    if (Partes.Length == 4)
                    {
                        var Ta = new Afip.Ws.Autenticacion.TicketAcceso();
                        Ta.Token          = Partes[0];
                        Ta.Sign           = Partes[1];
                        Ta.GenerationTime = Lfx.Types.Parsing.ParseSqlDateTime(Partes[2]);
                        Ta.ExpirationTime = Lfx.Types.Parsing.ParseSqlDateTime(Partes[3]);

                        return(Ta);
                    }
                }
            } catch {
                // Nada...
            }

            return(null);
        }