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