SankhyaAPI.Client
4.2.0
See the version list below for details.
dotnet add package SankhyaAPI.Client --version 4.2.0
NuGet\Install-Package SankhyaAPI.Client -Version 4.2.0
<PackageReference Include="SankhyaAPI.Client" Version="4.2.0" />
<PackageVersion Include="SankhyaAPI.Client" Version="4.2.0" />
<PackageReference Include="SankhyaAPI.Client" />
paket add SankhyaAPI.Client --version 4.2.0
#r "nuget: SankhyaAPI.Client, 4.2.0"
#addin nuget:?package=SankhyaAPI.Client&version=4.2.0
#tool nuget:?package=SankhyaAPI.Client&version=4.2.0
👜 SankhyaAPI.Client
Projeto de integração com ERP Sankhya para operação de CRUD!
📑 Índice
🚀 Sobre
Este projeto tem como objetivo disponibilizar, de maneira mais sucinta, métodos mais utilizados para manipulações e retornos de dados. Utilizando a própria API do Sankhya disponível aqui, o projeto abstrai os métodos para o usuário.
📦 Instalação
- Na raiz do seu projeto, use o seguinte comando:
dotnet add package SankhyaAPI.Client --version x.y.z
⚙ Configuração
Este pacote foi pensado para uso com injeção de dependência.
Configure o
SankhyaClientSettings
:SankhyaClientSettings sankhyaSettings = new SankhyaClientSettings(); sankhyaSettings.BaseUrl = "https://seusistema.sankhya.com"; sankhyaSettings.Usuario = "usuario"; sankhyaSettings.Senha = "senha"; builder.Services.Configure<SankhyaClientSettings>(sankhyaSettings);
Injete o serviço:
builder.Services.AddSankhyaClient();
🧠 Validação de modelos
Todos os modelos devem herdar de SankhyaModelBase
. Todas as propriedades devem ser NullableState<T>
. As chaves primárias (com atributo [Key]
) devem estar com:
AutoEnumerable == true
: obrigatoriamenteUnSet
AutoEnumerable == false
: obrigatoriamenteSet
- Nunca podem estar com
Clear
⚙️ Funcionalidades
Exemplo de entidade:
public class ProdutoEntity : SankhyaModelBase { [Key("CODPROD", true)] public NullableState<long> CodProd { get; set; } [XmlElement("CODVOL")] public NullableState<string> CodVol { get; set; } [XmlElement("DESCRPROD")] public NullableState<string> DescrProd { get; set; } [XmlElement("REFFORN")] public NullableState<string> RefForn { get; set; } }
Serviço da entidade usando nome da entidade como string:
public class ProdutoClientService : BaseService<ProdutoEntity> { public ProdutoClientService(IOptions<SankhyaClientSettings> sankhyaApiConfig) : base(sankhyaApiConfig, "Produto") { } }
🧪 Uso
Inserir
var produtos = new List<ProdutoEntity>
{
new() { CodProd = 1, CodVol = "UN", DescrProd = "Produto A", RefForn = "F123" },
new() { CodProd = 2, CodVol = "UN", DescrProd = "Produto B", RefForn = "F456" }
};
var response = await produtoClientService.CreateManyAsync(produtos);
Atualizar
produtos[0].DescrProd = "Produto A Atualizado";
var response = await produtoClientService.UpdateManyAsync(produtos);
Buscar registros com FindAsync
string query = "this.CODPROD = 1 AND this.AD_ATIVO = 'S'";
var produtos = await produtoClientService.FindAsync(query);
Query tipada com QueryRawAsync
string script = "SELECT CODPROD, DESCRPROD FROM TGFPRO WHERE ATIVO = 'S'";
List<ProdutoEntity> resultado = await produtoClientService.QueryRawAsync<ProdutoEntity>(script);
Query como dicionário com QueryAsDictionaryAsync
string script = "SELECT CODPROD, DESCRPROD FROM TGFPRO WHERE ATIVO = 'S'";
List<Dictionary<string, object?>> resultadoDict = await produtoClientService.QueryAsDictionaryAsync(script);
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Azure.Core (>= 1.44.1)
- Newtonsoft.Json (>= 13.0.3)
- Refit (>= 8.0.0)
- Refit.HttpClientFactory (>= 8.0.0)
- Refit.Xml (>= 7.0.0)
- Swashbuckle.AspNetCore.Swagger (>= 6.8.1)
- Swashbuckle.AspNetCore.SwaggerGen (>= 6.8.1)
- Swashbuckle.AspNetCore.SwaggerUI (>= 6.8.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
5.1.0 | 169 | 8 days ago | |
5.0.0 | 121 | 13 days ago | |
4.3.0 | 141 | 13 days ago | |
4.2.0 | 179 | 13 days ago | |
4.1.0 | 230 | 13 days ago | |
4.0.1 | 234 | 14 days ago | |
4.0.0 | 206 | 19 days ago | |
3.2.0 | 251 | 20 days ago | |
3.1.0 | 238 | 21 days ago | |
3.0.1 | 234 | 23 days ago | |
3.0.0 | 229 | 23 days ago | |
2.1.0 | 239 | 23 days ago | |
2.0.0 | 224 | 5 months ago | |
1.1.0 | 229 | 6 months ago | |
1.0.1 | 215 | 6 months ago | |
1.0.0 | 212 | 6 months ago | |
0.5.2.11 | 224 | 6 months ago | |
0.5.2.10 | 214 | 6 months ago | |
0.5.2.9 | 203 | 6 months ago | |
0.5.2.8 | 208 | 6 months ago | |
0.5.2.7 | 204 | 6 months ago | |
0.5.2.6 | 200 | 6 months ago | |
0.5.2.5 | 219 | 6 months ago | |
0.5.2.4 | 221 | 6 months ago | |
0.5.2.3 | 206 | 6 months ago | |
0.5.2.2 | 197 | 6 months ago | |
0.5.2.1 | 202 | 6 months ago | |
0.5.2 | 202 | 6 months ago | |
0.5.1 | 205 | 6 months ago | |
0.5.0 | 203 | 6 months ago | |
0.4.2 | 207 | 6 months ago | |
0.4.1 | 204 | 6 months ago | |
0.4.0 | 214 | 6 months ago | |
0.3.3 | 214 | 6 months ago | |
0.3.2 | 210 | 6 months ago | |
0.3.1 | 212 | 6 months ago | |
0.3.0 | 209 | 6 months ago | |
0.2.0 | 211 | 6 months ago | |
0.1.2 | 214 | 6 months ago | |
0.1.1 | 254 | 6 months ago | |
0.1.0 | 208 | 6 months ago |