private static void CrearTicket(Entidades.Sesion Sesion, out LoginTicket ticket) { string RutaCertificado = ""; ticket = new LoginTicket(); string cuitServicioAFIP = RN.Configuracion.CuitConsultaAFIP(Sesion); DB.Ticket ticketDB = new DB.Ticket(Sesion); bool SolicitarTicket = false; if (Sesion.Ticket == null) { Sesion.Ticket = ticketDB.Leer(cuitServicioAFIP, TipoServicios.ConsultaPadronN3); } else { if (Sesion.Ticket.Cuit != cuitServicioAFIP || Sesion.Ticket.Service != TipoServicios.ConsultaPadronN3) { Sesion.Ticket = ticketDB.Leer(cuitServicioAFIP, TipoServicios.ConsultaPadronN3); } } if (Sesion.Ticket.Cuit == null) { SolicitarTicket = true; } else if (Convert.ToInt64(Sesion.Ticket.ExpirationTime.ToString("yyyyMMddHHmmss")) <= Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss"))) { SolicitarTicket = true; } else { ticket.Service = TipoServicios.ConsultaPadronN3; ticket.Cuit = Sesion.Ticket.Cuit; ticket.Sign = Sesion.Ticket.Sign; ticket.Token = Sesion.Ticket.Token; ticket.UniqueId = Convert.ToUInt32(Sesion.Ticket.UniqueId); ticket.GenerationTime = Sesion.Ticket.GenerationTime; ticket.ExpirationTime = Sesion.Ticket.ExpirationTime; } if (SolicitarTicket) { ticket = new LoginTicket(); RutaCertificado = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["RutaCertificadoAFIP"] + cuitServicioAFIP + ".p12"); ticket.ObtenerTicket(RutaCertificado, Convert.ToInt64(Sesion.Cuit.Nro), TipoServicios.ConsultaPadronN3); //Guardar Ticket de AFIP Sesion.Ticket = new Entidades.Ticket(); Sesion.Ticket.Cuit = ticket.ObjAutorizacionfev1.Cuit.ToString().Trim(); Sesion.Ticket.Service = ticket.Service; Sesion.Ticket.UniqueId = ticket.UniqueId.ToString().Trim(); Sesion.Ticket.GenerationTime = ticket.GenerationTime; Sesion.Ticket.ExpirationTime = ticket.ExpirationTime; Sesion.Ticket.Sign = ticket.Sign; Sesion.Ticket.Token = ticket.Token; ticketDB.Modificar(Sesion.Ticket); SolicitarTicket = false; } }
private static void CrearTicketExpo(Entidades.Sesion Sesion, out LoginTicket ticket, out ar.gov.afip.wsw.Service objWS, out ar.gov.afip.wsfexv1.Service objWSFEXV1) { string RutaCertificado = ""; ticket = new LoginTicket(); DB.Ticket ticketDB = new DB.Ticket(Sesion); bool SolicitarTicket = false; if (Sesion.Ticket == null) { if (Sesion.Cuit.UsaCertificadoAFIPPropio) { Sesion.Ticket = ticketDB.Leer(Sesion.Cuit.Nro, TipoServicios.FacturaEX); } else { Sesion.Ticket = ticketDB.Leer("30710015062", TipoServicios.FacturaEX); } } else { if (Sesion.Ticket.Cuit != Sesion.Cuit.Nro || Sesion.Ticket.Service != TipoServicios.FacturaEX) { if (Sesion.Cuit.UsaCertificadoAFIPPropio) { Sesion.Ticket = ticketDB.Leer(Sesion.Cuit.Nro, TipoServicios.FacturaEX); } else { if (Sesion.Ticket.Cuit != "30710015062") { Sesion.Ticket = ticketDB.Leer("30710015062", TipoServicios.FacturaEX); } } } } if (Sesion.Ticket.Cuit == null) { SolicitarTicket = true; } else if (Convert.ToInt64(Sesion.Ticket.ExpirationTime.ToString("yyyyMMddHHmmss")) <= Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss"))) { SolicitarTicket = true; } else { ticket.ObjAutorizacionfexv1 = new ar.gov.afip.wsfexv1.ClsFEXAuthRequest(); ticket.ObjAutorizacionfexv1.Cuit = Convert.ToInt64(Sesion.Cuit.Nro); ticket.ObjAutorizacionfexv1.Sign = Sesion.Ticket.Sign; ticket.ObjAutorizacionfexv1.Token = Sesion.Ticket.Token; } if (SolicitarTicket) { ticket = new LoginTicket(); if (Sesion.Cuit.UsaCertificadoAFIPPropio) { RutaCertificado = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["RutaCertificadoAFIP"] + Sesion.Cuit.Nro + ".p12"); } else { RutaCertificado = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["RutaCertificadoAFIP"] + Convert.ToInt64("30710015062") + ".p12"); } ticket.ObtenerTicket(RutaCertificado, Convert.ToInt64(Sesion.Cuit.Nro), "wsfex"); //Guardar Ticket de AFIP Sesion.Ticket = new Entidades.Ticket(); Sesion.Ticket.Cuit = ticket.ObjAutorizacionfev1.Cuit.ToString().Trim(); Sesion.Ticket.Service = ticket.Service; Sesion.Ticket.UniqueId = ticket.UniqueId.ToString().Trim(); Sesion.Ticket.GenerationTime = ticket.GenerationTime; Sesion.Ticket.ExpirationTime = ticket.ExpirationTime; Sesion.Ticket.Sign = ticket.Sign; Sesion.Ticket.Token = ticket.Token; ticketDB.Modificar(Sesion.Ticket); SolicitarTicket = false; } objWS = new ar.gov.afip.wsw.Service(); objWS.Url = System.Configuration.ConfigurationManager.AppSettings["ar_gov_afip_wsw_Service"]; objWS.Proxy = ticket.Wp; objWSFEXV1 = new ar.gov.afip.wsfexv1.Service(); objWSFEXV1.Url = System.Configuration.ConfigurationManager.AppSettings["ar_gov_afip_wsfexv1_Service"]; objWSFEXV1.Proxy = ticket.Wp; }