diff --git a/README.md b/README.md index 94d84ab..95665bf 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,13 @@ Client .Net de acesso aos principais recursos da Api da **IUGU** ### Configuração -* Em seu arquivo de configuração (.config), é necessário adicionar a apiKey encontrada no seu painel [administrativo da IUGU](https://iugu.com/a/administration), em *Administração* > *Configuração de Contas*. Nesta tela você encontra seu *ID da Conta* +* Em algum *StartUp* de seu projeto, é necessário adicionar a apiKey encontrada no seu painel [administrativo da IUGU](https://iugu.com/a/administration), em *Administração* > *Configuração de Contas*. Nesta tela você encontra seu *ID da Conta* -```xml - - - ... - +```csharp +IuguClient.Init(new IuguClientProperties() +{ + ApiKey = "SUA_APP_KEY_DA_IUGU" +}); ``` ### Documentação completa da API A referência completa da Api pode ser encontrada em [IUGU Api](https://iugu.com/referencias/api) @@ -46,6 +46,10 @@ public class AnyClass ``` ### Informações Adicionais -* A partir da versão 1.8.5, houve um downgrade da **versão miníma do .Net framework para a versão 4.5** e uma mudança nas dependências.Essas alterações não provocam necessáriamente quebra de versões, a não ser que exista um conflito de dependências. +* A partir da versão 2.0, o projeto foi reestruturado para ser compilado de forma *retrocompatível* com **.NET Standard 2.0** e **.NET Framework 4.5**. +Essas alterações não provocam nenhuma quebra de versão em atuais projetos **.NET Framework** e consequentemente adiciona suporte nativo ao **.NET Standard 2.0**. +* A partir da versão 2.0, o cliente **NÃO** é mais configurado através de arquivos `.config`, e sim através do factory `IuguClient.Init`, conforme exemplo acima. +* A partir da versão 1.8.5, houve um downgrade da **versão miníma do .Net framework para a versão 4.5** e uma mudança nas dependências. +Essas alterações não provocam necessáriamente quebra de versões, a não ser que exista um conflito de dependências. \ No newline at end of file diff --git a/iugu.net.IntegratedTests/GlobalSetup.cs b/iugu.net.IntegratedTests/GlobalSetup.cs new file mode 100644 index 0000000..f36dadd --- /dev/null +++ b/iugu.net.IntegratedTests/GlobalSetup.cs @@ -0,0 +1,17 @@ +using NUnit.Framework; + +namespace iugu.net.IntegratedTests +{ + [SetUpFixture] + public class GlobalSetup + { + [OneTimeSetUp] + public void IuguClientConfig() + { + IuguClient.Init(new IuguClientProperties() + { + ApiKey = "74c265aedbfaea379bc0148fae9b5526" + }); + } + } +} diff --git a/iugu.net.IntegratedTests/app.config b/iugu.net.IntegratedTests/app.config index 2d77971..9571002 100644 --- a/iugu.net.IntegratedTests/app.config +++ b/iugu.net.IntegratedTests/app.config @@ -1,7 +1,6 @@  - diff --git a/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj b/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj index 35ade69..de630e8 100644 --- a/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj +++ b/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj @@ -40,9 +40,8 @@ ..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll True - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True + + ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll @@ -67,6 +66,7 @@ + diff --git a/iugu.net.IntegratedTests/packages.config b/iugu.net.IntegratedTests/packages.config index 1388110..557623f 100644 --- a/iugu.net.IntegratedTests/packages.config +++ b/iugu.net.IntegratedTests/packages.config @@ -3,7 +3,7 @@ - + diff --git a/iugu.net.UnitTests/app.config b/iugu.net.UnitTests/app.config index 2d77971..9571002 100644 --- a/iugu.net.UnitTests/app.config +++ b/iugu.net.UnitTests/app.config @@ -1,7 +1,6 @@  - diff --git a/iugu.net.UnitTests/iugu.net.UnitTests.csproj b/iugu.net.UnitTests/iugu.net.UnitTests.csproj index 0ce8428..b4511dd 100644 --- a/iugu.net.UnitTests/iugu.net.UnitTests.csproj +++ b/iugu.net.UnitTests/iugu.net.UnitTests.csproj @@ -40,9 +40,8 @@ ..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll True - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True + + ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll diff --git a/iugu.net.UnitTests/packages.config b/iugu.net.UnitTests/packages.config index 1388110..557623f 100644 --- a/iugu.net.UnitTests/packages.config +++ b/iugu.net.UnitTests/packages.config @@ -3,7 +3,7 @@ - + diff --git a/iugu.net/IuguClient.cs b/iugu.net/IuguClient.cs new file mode 100644 index 0000000..c9223e6 --- /dev/null +++ b/iugu.net/IuguClient.cs @@ -0,0 +1,33 @@ +namespace iugu.net +{ + /// + /// Iugu.Net Factory + /// + public static class IuguClient + { + /// + /// Propriedades do cliente. + /// + public static IuguClientProperties Properties { get; internal set; } + + /// + /// Atualiza as propriedades do cliente. + /// + /// + public static void Init(IuguClientProperties properties) + { + Properties = properties; + } + } + + /// + /// Propriedades do cliente. + /// + public class IuguClientProperties + { + /// + /// API Key encontrada no painel administrativo da IUGU. + /// + public string ApiKey { get; set; } + } +} diff --git a/iugu.net/Lib/APIResource.cs b/iugu.net/Lib/APIResource.cs index deb246e..1557380 100644 --- a/iugu.net/Lib/APIResource.cs +++ b/iugu.net/Lib/APIResource.cs @@ -1,7 +1,6 @@ using Newtonsoft.Json; using System; using System.Linq; -using System.Configuration; using System.Net.Http; using System.Net.Http.Headers; using System.Text; @@ -61,7 +60,7 @@ public APIResource(IHttpClientWrapper customClient, JsonSerializerSettings custo _version = "1.0.5"; _apiVersion = "v1"; _endpoint = "https://api.iugu.com"; - _apiKey = ConfigurationManager.AppSettings["iuguApiKey"]; + _apiKey = IuguClient.Properties.ApiKey; if (string.IsNullOrEmpty(_apiKey)) { diff --git a/iugu.net/Properties/AssemblyInfo.cs b/iugu.net/Properties/AssemblyInfo.cs deleted file mode 100644 index fb8fcfc..0000000 --- a/iugu.net/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("iugu.net")] -[assembly: AssemblyDescription("Client .Net para a API da IUGU")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("IUGU")] -[assembly: AssemblyProduct("iugu.net")] -[assembly: AssemblyCopyright("IUGU Copyright © 2016")] -[assembly: AssemblyTrademark("IUGU")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("35ee3cd1-39de-4401-8523-eb94774cbd3b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] - - diff --git a/iugu.net/app.config b/iugu.net/app.config deleted file mode 100644 index 0a0c8e6..0000000 --- a/iugu.net/app.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/iugu.net/iugu.net.csproj b/iugu.net/iugu.net.csproj index 3542f1e..d7c8b43 100644 --- a/iugu.net/iugu.net.csproj +++ b/iugu.net/iugu.net.csproj @@ -1,41 +1,22 @@ - - - + + - Debug - AnyCPU - {35EE3CD1-39DE-4401-8523-EB94774CBD3B} - Library - Properties - iugu.net - iugu.net - v4.5 - 512 - + netstandard2.0;net45 + Iugu.Net + Iugu.Net + Iugu.Net + Copyright (c) 2018, IUGU + IUGU + Iugu.Net + 2.0.0 + 2.0.0.0 + 2.0.0.0 + Cliente .Net para a API da IUGU + https://github.com/iugu/iugu-net + git - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - x64 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True - + + @@ -47,79 +28,9 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Designer - - + - - - + \ No newline at end of file diff --git a/iugu.net/packages.config b/iugu.net/packages.config deleted file mode 100644 index 57e5b79..0000000 --- a/iugu.net/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file