Exemplo n.º 1
0
 protected void TraerDatosDeAFIPLinkButton_Click(object sender, EventArgs e)
 {
     if (TipoDocDropDownList.SelectedValue == "80" || TipoDocDropDownList.SelectedValue == "86") //CUIT o CUIL
     {
         try
         {
             Entidades.Sesion sesion = ((Entidades.Sesion)Session["Sesion"]);
             //Entidades.Sesion sesionConsultaAFIP = new Entidades.Sesion();
             //sesionConsultaAFIP.Cuit.UsaCertificadoAFIPPropio = true;
             //sesionConsultaAFIP.Cuit.Nro = RN.Configuracion.CuitConsultaAFIP(sesion);
             //sesionConsultaAFIP.CnnStr = sesion.CnnStr;
             if (NroDocTextBox.Text != string.Empty)
             {
                 Entidades.PadronA13.persona persona = new Entidades.PadronA13.persona();
                 persona = RN.ServiciosAFIP.DatosFiscales(NroDocTextBox.Text, sesion);
                 if (persona.razonSocial != null && persona.razonSocial != string.Empty || persona.apellido != null && persona.apellido != string.Empty)
                 {
                     //Vaciar datos de persona a completar
                     RazonSocialTextBox.Text = "";
                     Domicilio.Calle         = "";
                     Domicilio.Nro           = "";
                     Domicilio.Piso          = "";
                     Domicilio.Depto         = "";
                     Domicilio.Sector        = "";
                     Domicilio.Torre         = "";
                     Domicilio.Manzana       = "";
                     Domicilio.Localidad     = "";
                     Domicilio.IdProvincia   = "0";
                     Domicilio.CodPost       = "";
                     //Completar datos de persona con info del padron AFIP
                     if (persona.razonSocial != null && persona.razonSocial != string.Empty)
                     {
                         RazonSocialTextBox.Text = persona.razonSocial;
                     }
                     else
                     {
                         RazonSocialTextBox.Text = persona.apellido;
                         if (persona.nombre != null && persona.nombre != string.Empty)
                         {
                             RazonSocialTextBox.Text += " " + persona.nombre;
                         }
                     }
                     if (persona.fechaContratoSocialSpecified == true)
                     {
                         DatosImpositivos.FechaInicioActividades = persona.fechaContratoSocial;
                     }
                     if (persona.domicilio.Length > 0)
                     {
                         for (int i = 0; i < persona.domicilio.Length; i++)
                         {
                             if (persona.domicilio[i].tipoDomicilio.IndexOf("LEGAL") != -1 || i == (persona.domicilio.Length - 1))
                             {
                                 Domicilio.Calle       = persona.domicilio[i].calle;
                                 Domicilio.Nro         = persona.domicilio[i].numero.ToString();
                                 Domicilio.Piso        = persona.domicilio[i].piso;
                                 Domicilio.Depto       = persona.domicilio[i].oficinaDptoLocal;
                                 Domicilio.Sector      = persona.domicilio[i].sector;
                                 Domicilio.Torre       = persona.domicilio[i].torre;
                                 Domicilio.Manzana     = persona.domicilio[i].manzana;
                                 Domicilio.Localidad   = persona.domicilio[i].localidad;
                                 Domicilio.IdProvincia = RN.ServiciosAFIP.IdProvincia(persona.domicilio[i].idProvincia.ToString());
                                 Domicilio.CodPost     = persona.domicilio[i].codigoPostal;
                                 break;
                             }
                         }
                     }
                 }
                 else
                 {
                     MensajeLabel.Text = "No se encontraron datos para completar.";
                     ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Message", "alert('" + MensajeLabel.Text.ToString().Replace("'", "") + "');", true);
                 }
                 //string xmlString = RN.ServiciosAFIP.DatosFiscales(NroDocTextBox.Text, sesionConsultaAFIP);
                 //System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Entidades.AFIP.Contribuyente));
                 //StringReader rdr = new StringReader(xmlString);
                 //Entidades.AFIP.Contribuyente contribuyente = (Entidades.AFIP.Contribuyente)serializer.Deserialize(rdr);
                 //RazonSocialTextBox.Text = contribuyente.Persona.DescripcionCorta;
                 //if (contribuyente.Domicilios.Length > 0)
                 //{
                 //    Domicilio.Calle = contribuyente.Domicilios[0].Calle;
                 //    Domicilio.Nro = contribuyente.Domicilios[0].Numero;
                 //    Domicilio.Piso = contribuyente.Domicilios[0].Piso;
                 //    Domicilio.Depto = contribuyente.Domicilios[0].OficinaDeptoLocal;
                 //    Domicilio.Sector = string.Empty;
                 //    Domicilio.Torre = string.Empty;
                 //    Domicilio.Manzana = string.Empty;
                 //    Domicilio.Localidad = contribuyente.Domicilios[0].Localidad;
                 //    Domicilio.IdProvincia = RN.ServiciosAFIP.IdProvincia(contribuyente.Domicilios[0].IdProvincia);
                 //    Domicilio.CodPost = contribuyente.Domicilios[0].CodigoPostal;
                 //}
             }
             else
             {
                 MensajeLabel.Text = "Ingrese un número de documento.";
                 ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Message", "alert('" + MensajeLabel.Text.ToString().Replace("'", "") + "');", true);
             }
         }
         catch (Exception ex)
         {
             MensajeLabel.Text = ex.Message.Replace("\r\n", "\\n");
             ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Message", "alert('" + MensajeLabel.Text.ToString().Replace("'", "") + "');", true);
         }
     }
     else
     {
         MensajeLabel.Text = "Para obtener los datos de la AFIP hay que ingresar CUIT/CUIL";
         ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Message", "alert('" + MensajeLabel.Text.ToString().Replace("'", "") + "');", true);
     }
 }
Exemplo n.º 2
0
        public static Entidades.PadronA13.persona DatosFiscales(string Cuit, Entidades.Sesion Sesion)
        {
            //string resp = "";
            Entidades.PadronA13.persona persona = new Entidades.PadronA13.persona();
            try
            {
                //LoginTicket ticket = new LoginTicket();
                //CrearTicket(Sesion, out ticket);
                //ar.gov.afip.padron_puc_ws.ContribuyenteNivel3SelectServiceImplService c = new ar.gov.afip.padron_puc_ws.ContribuyenteNivel3SelectServiceImplService();
                //c.Url = System.Configuration.ConfigurationManager.AppSettings["ar_gov_afip_padron-puc-ws_Service"];
                //string cuit = "<contribuyentePK><id>" + Cuit + "</id></contribuyentePK>";
                //string token = "-----BEGIN SSOTOKENBASE64-----\n" + ticket.Token + " -----END SSOTOKENBASE64-----";
                //string sign = "-----BEGIN SSOSIGNBASE64-----\n" + ticket.Sign + " -----END SSOSIGNBASE64-----";
                //resp = c.get(cuit, token, sign);

                LoginTicket ticket = new LoginTicket();
                CrearTicketPadronA13(Sesion, out ticket);
                ar.gov.afip.personaServiceA13.PersonaServiceA13 c = new ar.gov.afip.personaServiceA13.PersonaServiceA13();
                c.Url = System.Configuration.ConfigurationManager.AppSettings["ar_gov_afip_personaServiceA13"];
                string cuit  = Cuit;
                string token = ticket.Token;
                string sign  = ticket.Sign;

                string CuitCanalAFIP = System.Configuration.ConfigurationManager.AppSettings["CuitCanalAFIP"];
                ar.gov.afip.personaServiceA13.personaReturn respPersona;
                if (Sesion.Cuit.UsaCertificadoAFIPPropio && Sesion.Cuit.Nro != CuitCanalAFIP)
                {
                    respPersona = c.getPersona(token, sign, Convert.ToInt64(Sesion.Cuit.Nro), Convert.ToInt64(cuit));
                }
                else
                {
                    //Busco representante del CuitCanalAFIP
                    string cuitServicioAFIP = RN.Configuracion.CuitConsultaAFIP(Sesion);
                    respPersona = c.getPersona(token, sign, Convert.ToInt64(cuitServicioAFIP), Convert.ToInt64(cuit));
                }

                persona.razonSocial                        = respPersona.persona.razonSocial;
                persona.apellido                           = respPersona.persona.apellido;
                persona.nombre                             = respPersona.persona.nombre;
                persona.claveInactivaAsociada              = respPersona.persona.claveInactivaAsociada;
                persona.descripcionActividadPrincipal      = respPersona.persona.descripcionActividadPrincipal;
                persona.estadoClave                        = respPersona.persona.estadoClave;
                persona.fechaContratoSocialSpecified       = respPersona.persona.fechaContratoSocialSpecified;
                persona.fechaContratoSocial                = respPersona.persona.fechaContratoSocial;
                persona.formaJuridica                      = respPersona.persona.formaJuridica;
                persona.idActividadPrincipal               = respPersona.persona.idActividadPrincipal;
                persona.idActividadPrincipalSpecified      = respPersona.persona.idActividadPrincipalSpecified;
                persona.idPersona                          = respPersona.persona.idPersona;
                persona.idPersonaSpecified                 = respPersona.persona.idPersonaSpecified;
                persona.mesCierre                          = respPersona.persona.mesCierre;
                persona.mesCierreSpecified                 = respPersona.persona.mesCierreSpecified;
                persona.numeroDocumento                    = respPersona.persona.numeroDocumento;
                persona.periodoActividadPrincipal          = respPersona.persona.periodoActividadPrincipal;
                persona.periodoActividadPrincipalSpecified = respPersona.persona.periodoActividadPrincipalSpecified;
                persona.tipoClave                          = respPersona.persona.tipoClave;
                persona.tipoDocumento                      = respPersona.persona.tipoDocumento;
                persona.tipoPersona                        = respPersona.persona.tipoPersona;
                if (respPersona.persona.domicilio.Length > 0)
                {
                    persona.domicilio = new Entidades.PadronA13.domicilio[respPersona.persona.domicilio.Length];
                    for (int i = 0; i < respPersona.persona.domicilio.Length; i++)
                    {
                        persona.domicilio[i]                      = new Entidades.PadronA13.domicilio();
                        persona.domicilio[i].calle                = respPersona.persona.domicilio[i].calle;
                        persona.domicilio[i].codigoPostal         = respPersona.persona.domicilio[i].codigoPostal;
                        persona.domicilio[i].datoAdicional        = respPersona.persona.domicilio[i].datoAdicional;
                        persona.domicilio[i].descripcionProvincia = respPersona.persona.domicilio[i].descripcionProvincia;
                        persona.domicilio[i].direccion            = respPersona.persona.domicilio[i].direccion;
                        persona.domicilio[i].estadoDomicilio      = respPersona.persona.domicilio[i].estadoDomicilio;
                        persona.domicilio[i].idProvincia          = respPersona.persona.domicilio[i].idProvincia;
                        persona.domicilio[i].idProvinciaSpecified = respPersona.persona.domicilio[i].idProvinciaSpecified;
                        persona.domicilio[i].localidad            = respPersona.persona.domicilio[i].localidad;
                        persona.domicilio[i].manzana              = respPersona.persona.domicilio[i].manzana;
                        persona.domicilio[i].numero               = respPersona.persona.domicilio[i].numero;
                        persona.domicilio[i].numeroSpecified      = respPersona.persona.domicilio[i].numeroSpecified;
                        persona.domicilio[i].oficinaDptoLocal     = respPersona.persona.domicilio[i].oficinaDptoLocal;
                        persona.domicilio[i].piso                 = respPersona.persona.domicilio[i].piso;
                        persona.domicilio[i].sector               = respPersona.persona.domicilio[i].sector;
                        persona.domicilio[i].tipoDatoAdicional    = respPersona.persona.domicilio[i].tipoDatoAdicional;
                        persona.domicilio[i].tipoDomicilio        = respPersona.persona.domicilio[i].tipoDomicilio;
                        persona.domicilio[i].torre                = respPersona.persona.domicilio[i].torre;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(persona);
        }