/// <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 } }
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); }