/// <summary> /// Méthode qui retourne un objet créer a partir du json déserializé /// </summary> /// <author>[email protected]</author> /// <param name="Siren">numéro d'immatriculation d'une entreprise</param> /// <param name="safe">boolean, si true ne retournera jamais d'exeption</param> /// <returns>objet créer a partir du json déserializé</returns> public ResultObjectPoco GetAdressFromSiren(string Siren, bool safe = false) { ResultObjectPoco result = null; try { var client = new RestClient("https://firmapi.com/api/"); var request = new RestRequest("v1/companies/" + Siren); request.RequestFormat = DataFormat.Json; var queryResult = client.Execute(request); JsonDeserializer deserial = new JsonDeserializer(); result = deserial.Deserialize <ResultObjectPoco>(queryResult); if (!safe && !result.status.Equals("success")) { throw new Exception("Siren API Error"); } } catch (Exception ex) { result = null; if (safe) { return(null); } throw new Exception("EnrishAdressFromSiren " + ex.Message, ex); } return(result); }
/// <summary> /// methode qui permet d'enrichir un objet adress avec les informations provenant de https://firmapi.com/ /// </summary> /// <author>[email protected]</author> /// <param name="Siren">numéro d'immatriculation d'une entreprise</param> /// <param name="adresse">L'objet address à enrechir</param> /// <param name="safe">boolean, si true ne retournera jamais d'exeption</param> /// <returns>Retourne un objet Address, enrechi à partir de retour JSON de l'API firmapi.com</returns> public bool EnrishAdressFromSiren(Address adresse, string Siren, bool safe = false) { try { ResultObjectPoco poco = GetAdressFromSiren(Siren, safe); if (poco != null && poco.company != null && !string.IsNullOrEmpty(poco.company.postal_code) && adresse != null) { adresse.Postcode = poco.company.postal_code; adresse.Adress1 = poco.company.address; adresse.City = poco.company.city; return(true); } } catch (Exception ex) { if (safe) { return(false); } throw new Exception("EnrishAdressFromSiren " + ex.Message, ex); } return(false); }