BKS.Padrao 7.15.1

BKS.Padrao

coverage

A BKS.Padrao nasceu da ideia do nosso querido @lmatos com o objetivo de unificar regras e modelos de negócio comum aos Fronts Cartao e Consig, evitando a necessidade de criação e manutenção de código em duas bibliotecas (BKS.Cartao e BKS.Consig).

Desde a sua criação ela evoluiu e é utilizada hoje por vários módulos, como BKS.ApiCommons.

Ela se diferencia da BKS.Util que é mais genérica, voltada mais para utilidades para o desenvolvedores, com facilitadores baseados em tipos c# e nem tanto a regras de negócio especificas BKS, mesmo que ainda possam existir.

Este projeto contém uma série de funcionalidades úteis comuns aos produtos BKS Cartão e Consig/FGTS com foco em exceções, validações, modelos de dados, tipos e interfaces.

Estrutura do Projeto

Aqui está o que você vai encontrar nas pastas principais:

lib/

  • Exceptions: Definição de exceções personalizadas como UnauthorizedException, NotFoundException e mais, para um controle melhor sobre erros e suas respostas.
  • Interfaces: Interfaces úteis para os serviços e modelos, como ILogApiService e IBksException.
  • Modelos: Contém as classes de modelos principais, como MensagemUsuario, OutputErrorApi e outros objetos de domínio.
  • Modelos/Esteira: Envelope (EsteiraModeloArquivo), modelo (EsteiraModelo) e atividade (EsteiraAtividadeArquivo) do contrato compartilhado de importação/exportação de modelos de esteira entre Cartão e Consignado.
  • Tipos: Tipos e enumerações gerais como TipoEndereco, TipoTelefone e TipoOperadora.
  • Validators: Contém validadores baseados no FluentValidation, incluindo validação de endereços e telefones.

tests/

  • Testes unitários para garantir o funcionamento correto das exceções, validadores e métodos da biblioteca.

Arquivos de Configuração

  • .gitignore para ignorar arquivos desnecessários.
  • .gitlab-ci.yml para configuração de CI/CD com GitLab.
  • lib/BKS.Padrao.csproj concentra os metadados e a geração do pacote NuGet.

Funcionalidades

  • Gerenciamento de Exceções: Fácil tratamento de erros e mensagens para o usuário, com suporte a exceções específicas e mensagens de erro formatadas.
  • Contrato de esteira: Servicos/Esteira/EsteiraImportExportService serializa, desserializa e valida o arquivo JSON versionado (BKS.ESTEIRA.MODELO) de modelos de esteira, usado tanto pelo Cartão quanto pelo Consignado.
  • Validação: Validação robusta de dados com o uso do FluentValidation para garantir que informações como endereços e telefones estejam corretas.
  • Modelos e Tipos Comuns: Definições de tipos e modelos comuns para facilitar a construção de sistemas com uma base consistente.
  • Licenciamento em runtime: validação compartilhada para os hosts consumidores. Consulte a documentação de licenciamento.

Como Usar

  1. Clone o repositório para sua máquina local.
  2. Adicione o projeto ao seu sistema e comece a usar as classes e funções para tratar exceções, validar dados e modelar suas entidades.
  3. Para testar, execute os testes unitários presentes na pasta tests/.

Como Usar

  1. Adicionar o Feed NuGet Privado: Adicione o feed NuGet privado à sua configuração de projeto para acessar o pacote BKS.Padrao. Você pode seguir o guia de configuração do feed NuGet nesse link

  2. Instalar o Pacote NuGet: Após adicionar o feed, basta instalar o pacote BKS.Padrao no seu projeto. Você pode fazer isso executando o seguinte comando no Package Manager Console:

    Install-Package BKS.Padrao
    
  3. Usar no Projeto: Após a instalação, você pode começar a usar as exceções, validadores e modelos disponíveis, conforme necessário no seu código.

  4. Testar: Execute os testes unitários presentes na pasta tests/ para garantir que tudo esteja funcionando conforme esperado.

Como submódulo

A BKS.Padrao passou a ser utilizada não apenas como um pacote NuGet, mas também como submódulo Git dentro dos repositórios:

  • Front Consig
  • Front Cartão (em breve)
  • BKS.ApiCommons (em breve)

Essa mudança tem como principal objetivo agilizar o desenvolvimento, facilitar a manutenção e melhorar a experiência de quem consome a biblioteca, permitindo que ela seja editada diretamente na mesma solution dos fronts.

https://git.banksofttecnologia.com.br/biblioteca/BPOPadrao/-/wikis/home#bkspadrao-como-subm%C3%B3dulo-nos-fronts-e-commons

Contribuindo

Se você quiser contribuir com melhorias ou correções, fique à vontade para abrir um MR ou issue.

Showing the top 20 packages that depend on BKS.Padrao.

Packages Downloads
BKS.Cmss
Package Description
286
BKS.Acesso
Package Description
279
BKS.Acesso
Package Description
215
BKS.Back
Package Description
186
BKS.Acesso
Package Description
172
BKS.Back
Package Description
156
BKS.Back
Package Description
85
BKS.Consig
Package Description
82
BKS.Acesso
Package Description
55
BKS.Acesso
Package Description
54
BKS.Back
Package Description
53
BKS.Cartao
Package Description
51
BKS.ApiCommons
Package Description
47
BKS.Back
Package Description
47
BKS.Back
Package Description
46
BKS.Acesso
Package Description
45
BKS.Cartao
Package Description
45

Version Downloads Last updated
7.16.0-beta-26S45-1-42da77a7 6 11/06/2026
7.15.1 12 10/23/2026
7.15.1-beta-26S43-1-43d2246b 5 10/23/2026
7.15.0-beta-26S42-1-d9be7e5b 16 10/13/2026
7.14.0-beta-26S40-1-e2754f8a 18 10/01/2026
7.14.0-alpha-26S40-1-e298de9c 11 09/29/2026
7.13.0-beta-26S39-4-7dd99b0d 13 09/25/2026
7.13.0-alpha-26S39-2-4ec5422d 12 09/22/2026
7.13.0-alpha-26S39-1-09e28a62 6 09/22/2026
7.12.0-beta-26S38-1-e8949ec2 15 09/17/2026
7.11.0-beta-26S36-1-79b1116d 19 09/04/2026
7.11.0-alpha-26S36-1-121c9071 11 09/01/2026
7.11.0-alpha-26S35-3-916810c3 11 08/28/2026
7.11.0-alpha-26S35-2-7b1373a3 7 08/28/2026
7.10.0-beta-26S35-2-effa81bb 12 08/26/2026
7.9.0-beta-26S35-1-27e2d3b4 10 08/26/2026
7.9.0-alpha-26S35-1-d00959da 11 08/25/2026
7.8.0-beta-26S33-1-79b5637b 18 08/13/2026
7.8.0-alpha-26S32-3-6402d520 11 08/06/2026
7.8.0-alpha-26S32-2-a036ebf9 21 08/05/2026
7.8.0-alpha-26S32-1-dc61a11f 8 08/04/2026
7.8.0-alpha-26S31-1-3bfb2820 10 08/03/2026
7.7.0-beta-26S31-1-3bfb2820 21 07/29/2026
7.7.0-alpha-26S31-5-0a8abb46 11 07/29/2026
7.7.0-alpha-26S31-4-d1998f09 13 07/29/2026
7.7.0-alpha-26S31-3-84ab56c9 12 07/29/2026
7.7.0-alpha-26S31-2-17ed1909 12 07/28/2026
7.7.0-alpha-26S31-1-8a03f4c8 12 07/28/2026
7.7.0-alpha-26S30-2-fed5ad99 11 07/24/2026
7.7.0-alpha-26S30-1-dc7c6684 10 07/24/2026
7.6.0-beta-26S30-1-16f012a5 22 07/21/2026
7.5.0-beta-26S28-1-f2b1e623 18 07/07/2026
7.4.0-beta-26S26-2-04d3d149 18 06/26/2026
7.4.0-alpha-26S26-1-9c52fd6b 13 06/26/2026
7.3.1-beta-26S26-1-0abdc189 22 06/24/2026
7.3.0-beta-26S25-1-4a3a415d 111 06/16/2026
7.3.0-alpha-26S25-1-ebd6ef87 12 06/16/2026
7.3.0-alpha-26S24-1-b7449605 20 06/11/2026
7.2.0-beta-26S23-1-faae0459 199 06/02/2026
7.2.0-alpha-26S23-1-faae0459 12 06/05/2026
7.1.1-beta-26S22-1-8fa1f4c3 14 05/27/2026
7.1.1-beta-26S22-1-6062869d 51 05/27/2026
7.1.1-alpha-26S22-1-eca99330 18 05/26/2026
7.1.0-beta-260521-150332-2c94 74 05/21/2026
7.0.1-beta-260514-151454-6786 26 05/14/2026
7.0.0-beta-260513-140200-d54a 46 05/13/2026
6.8.0-beta-260508-162329-7e45 23 05/08/2026
6.7.7-alpha.1 12 05/26/2026
6.7.6 30 05/15/2026
6.7.5 13 05/14/2026
6.7.4 18 05/12/2026
6.7.3 24 05/12/2026
6.7.2 22 05/11/2026
6.7.1 34 05/05/2026
6.7.0 19 05/05/2026
6.6.1 24 04/29/2026
6.6.0 47 04/22/2026
6.5.2-beta-260420-145029-5ca8 17 04/20/2026
6.5.2-beta-260417-174917-64e9 17 04/17/2026
6.5.1 21 04/17/2026
6.5.0 35 04/13/2026
6.4.4-alpha-260413-105925-66d7 12 04/13/2026
6.4.3 32 04/10/2026
6.4.2 17 04/10/2026
6.4.1 37 04/09/2026
6.4.0 20 04/09/2026
6.4.0-alpha-260408-173029-8223 17 04/08/2026
6.4.0-alpha-260408-161146-0282 18 04/08/2026
6.4.0-alpha-260408-113302-ea65 16 04/08/2026
6.3.1 21 04/02/2026
6.3.0 18 04/02/2026
6.2.0 57 04/01/2026
6.2.0-alpha-260331-123200-3224 19 03/31/2026
6.1.1-alpha-260331-164412-eedc 14 03/31/2026
6.1.0 15 03/31/2026
6.1.0-alpha-260330-171002-7f12 19 03/30/2026
6.1.0-alpha-260330-120041-de7b 16 03/30/2026
6.0.2 34 03/25/2026
6.0.1 36 03/24/2026
6.0.0 23 03/23/2026
6.0.0-alpha-260122-142226-5523 22 01/22/2026
6.0.0-alpha-260122-140427-e1ef 18 01/22/2026
6.0.0-alpha-260121-172844-2311 17 01/21/2026
6.0.0-alpha-260121-153926-bf60 16 01/21/2026
5.20.0-alpha-260331-112650-7648 17 03/31/2026
5.19.0-alpha-260330-121306-dfa9 17 03/30/2026
5.18.0-alpha-260324-100940-c308 29 03/24/2026
5.17.1-alpha-260320-105255-9cc1 20 03/20/2026
5.17.0-alpha-260319-154645-e7fe 19 03/19/2026
5.16.0 42 03/13/2026
5.15.0 23 03/12/2026
5.15.0-alpha-260312-141938-e85c 21 03/12/2026
5.14.2-alpha-260304-202631-997f 17 03/04/2026
5.14.1-alpha-260312-112818-4fb9 22 03/12/2026
5.14.1-alpha-260304-201948-f8d0 16 03/04/2026
5.14.0 36 03/09/2026
5.14.0-alpha-260304-182729-d982 20 03/04/2026
5.13.4-alpha-260308-145431-e7f0 20 03/08/2026
5.13.3-alpha-260312-112600-21c9 19 03/12/2026
5.13.3-alpha-260308-134943-1e31 15 03/08/2026
5.13.3-alpha-260305-194140-813a 24 03/08/2026
5.13.2 39 03/05/2026
5.13.1 21 03/05/2026
5.13.0 29 03/03/2026
5.13.0-alpha-260220-153840-04be 19 02/20/2026
5.12.5-alpha-260302-190818-2ad5 18 03/02/2026
5.12.4 39 02/23/2026
5.12.3 39 02/02/2026
5.12.2 37 01/23/2026
5.12.1 16 01/23/2026
5.12.0 38 01/21/2026
5.12.0-alpha-260121-120433-d11c 18 01/21/2026
5.11.0 33 01/21/2026
5.11.0-alpha-260121-094431-f9f0 17 01/21/2026
5.11.0-alpha-260120-181452-52d9 21 01/20/2026
5.11.0-alpha-260120-180422-7914 22 01/20/2026
5.11.0-alpha-260120-121407-cdb3 23 01/20/2026
5.11.0-alpha-260120-120103-7934 19 01/20/2026
5.10.1 30 01/15/2026
5.10.0 18 01/15/2026
5.9.1 38 01/14/2026
5.9.1-alpha-260113-142743-b658 18 01/13/2026
5.9.0 24 01/12/2026
5.8.2 48 01/08/2026
5.8.1 19 01/07/2026
5.8.0 24 01/05/2026
5.7.1 17 12/26/2025
5.7.0 34 12/16/2025
5.6.0 25 12/12/2025
5.6.0-alpha-251210-115732-9f4d 26 12/10/2025
5.6.0-alpha-251210-114841-a144 15 12/10/2025
5.5.1-alpha-251202-101401-cb10 21 12/02/2025
5.5.0 39 12/04/2025
5.5.0-alpha-251202-155517-6227 20 12/02/2025
5.5.0-alpha-251201-182631-9c1f 17 12/01/2025
5.5.0-alpha-251128-115648-f6a2 23 11/28/2025
5.5.0-alpha-251128-115429-5b21 17 11/28/2025
5.5.0-alpha-251128-110535-96c5 18 11/28/2025
5.4.0 29 11/25/2025
5.4.0-alpha-251126-202750-e6f1 20 11/26/2025
5.3.0 44 11/19/2025
5.3.0-alpha-251114-133412-afd5 21 11/14/2025
5.3.0-alpha-251114-132032-3636 20 11/14/2025
5.3.0-alpha-251113-064014-fb1f 25 11/13/2025
5.2.1 42 11/11/2025
5.1.0 34 11/03/2025
5.1.0-alpha-251105-090835-58a5 20 11/05/2025
5.0.0 54 10/31/2025
5.0.0-alpha-251030-110824-8f8c 19 10/30/2025
5.0.0-alpha-251028-120038-ca00 29 10/28/2025
4.13.2 37 10/27/2025
4.13.1 29 10/27/2025
4.13.0 20 10/27/2025
4.12.2 44 10/18/2025
4.12.1 18 10/18/2025
4.12.0 19 10/18/2025
4.11.0 40 10/15/2025
4.10.0 42 10/10/2025
4.9.0 38 10/07/2025
4.8.0 28 10/03/2025
4.7.0 41 10/02/2025
4.6.4 28 09/29/2025
4.6.3 41 09/16/2025
4.6.1 49 09/12/2025
4.6.1-alpha-251105-095650-f9f0 18 11/05/2025
4.1.2-alpha-250709-193625-3f2c 16 09/12/2025
4.1.1 19 09/12/2025
4.1.0 18 09/12/2025
4.1.0-alpha-250703-170201-ce01 17 09/12/2025
4.0.1 38 09/12/2025
4.0.1-alpha-250625-181416-dbde 17 09/12/2025
4.0.0 29 09/12/2025
3.13.0-alpha-250623-170142-0a7e 16 09/12/2025
3.13.0-alpha-250623-160314-9b3e 15 09/12/2025
3.13.0-alpha-250620-123318-aa74 15 09/12/2025
3.12.1 16 09/12/2025
3.12.1-alpha-250624-163335-f99c 19 09/12/2025
3.12.0 20 09/12/2025
3.12.0-alpha-250620-093443-d949 20 09/12/2025
3.12.0-alpha-250618-120019-5025 20 09/12/2025
3.11.1 19 09/12/2025
3.11.0 19 09/12/2025
3.10.1 18 09/12/2025
3.10.0 21 09/12/2025
3.10.0-alpha-250616-194755-fec0 18 09/12/2025
3.10.0-alpha-250616-193500-813b 21 09/12/2025
3.10.0-alpha-250616-121148-4a1c 18 09/12/2025
3.10.0-alpha-250613-175319-3673 20 09/12/2025
3.10.0-alpha-250613-162306-baba 21 09/12/2025
3.10.0-alpha-250613-160612-8e57 20 09/12/2025
3.10.0-alpha-250613-154930-d3f2 18 09/12/2025
3.9.1 20 09/12/2025
3.9.0 21 09/12/2025
3.9.0-alpha-250612-154909-b19d 20 09/12/2025
3.9.0-alpha-250612-145621-d629 21 09/12/2025
3.9.0-alpha-250612-103807-5393 31 09/12/2025
3.9.0-alpha-250611-161829-2f66 16 09/12/2025
3.9.0-alpha-250609-115145-7239 20 09/12/2025
3.8.0 28 09/12/2025
3.7.2 18 09/12/2025
3.7.1 32 09/12/2025
3.7.0 19 09/12/2025
3.6.1 19 09/12/2025
3.6.0 19 09/12/2025
3.6.0-alpha-250417-144953-c2ac 17 09/12/2025
3.5.2-alpha-250411-000431-a244 19 09/12/2025
3.5.1-alpha-250417-114536-4427 15 09/12/2025
3.5.1-alpha-250416-162817-a02e 21 09/12/2025
3.5.1-alpha-250403-150827-e02e 18 09/12/2025
3.5.1-alpha-250403-145653-fd57 18 09/12/2025
3.5.1-alpha-250403-135507-e4ff 16 09/12/2025
3.5.1-alpha-250401-181923-f442 18 09/12/2025
3.5.1-alpha-250401-180722-96cc 17 09/12/2025
3.5.0 18 09/12/2025
3.5.0-alpha-250403-162407-c373 19 09/12/2025
3.5.0-alpha-250403-144454-6658 15 09/12/2025
3.5.0-alpha-250401-110803-f805 17 09/12/2025
3.5.0-alpha-250328-115605-6a69 15 09/12/2025
3.5.0-alpha-250328-113850-3da7 17 09/12/2025
3.5.0-alpha-250328-110330-b386 17 09/12/2025
3.4.1 24 09/12/2025
3.4.0 22 09/12/2025
3.4.0-alpha-250321-003614-b84d 17 09/12/2025
3.4.0-alpha-250320-235356-7f08 17 09/12/2025
3.4.0-alpha-250320-214114-b958 17 09/12/2025
3.4.0-alpha-250320-205731-f6cc 15 09/12/2025
3.4.0-alpha-250320-201642-9128 17 09/12/2025
3.4.0-alpha-250320-192506-0af7 18 09/12/2025
3.3.1-alpha-250320-191515-40de 17 09/12/2025
3.3.1-alpha-250320-190751-b5bf 19 09/12/2025
3.3.0 17 09/12/2025
3.2.4-alpha-250318-235559-4eb9 17 09/12/2025
3.2.4-alpha-250318-234312-b61c 19 09/12/2025
3.2.3 18 09/12/2025
3.2.2 15 09/12/2025
3.2.1 22 09/12/2025
3.2.0 20 09/12/2025
3.2.0-alpha-250305-154414-36c8 18 09/12/2025
3.2.0-alpha-250228-095122-fa09 16 09/12/2025
3.2.0-alpha-250226-151131-a655 15 09/12/2025
3.2.0-alpha-250226-145536-d783 18 09/12/2025
3.2.0-alpha-250226-145043-a01b 17 09/12/2025
3.2.0-alpha-250226-105326-5a9c 18 09/12/2025
3.2.0-alpha-250225-162917-9607 16 09/12/2025
3.2.0-alpha-250225-152706-167d 16 09/12/2025
3.2.0-alpha-250225-123828-c6ee 16 09/12/2025
3.2.0-alpha-250225-115102-2ad4 16 09/12/2025
3.2.0-alpha-250225-112542-093f 17 09/12/2025
3.2.0-alpha-250225-095142-a168 14 09/12/2025
3.2.0-alpha-250224-180908-7c09 16 09/12/2025
3.2.0-alpha-250224-174055-3c9d 19 09/12/2025
3.2.0-alpha-250224-172502-0eff 14 09/12/2025
3.2.0-alpha-250224-165749-cbb9 17 09/12/2025
3.2.0-alpha-250224-163136-0bbf 17 09/12/2025
3.2.0-alpha-250224-131429-40db 17 09/12/2025
3.2.0-alpha-250221-122926-ca9c 16 09/12/2025
3.2.0-alpha-250220-110848-d646 14 09/12/2025
3.2.0-alpha-250220-102131-3c7a 15 09/12/2025
3.2.0-alpha-250219-161238-e237 16 09/12/2025
3.2.0-alpha-250219-101743-6ce0 15 09/12/2025
3.2.0-alpha-250219-100349-2f82 17 09/12/2025
3.2.0-alpha-250218-173459-6f8e 17 09/12/2025
3.2.0-alpha-250218-171142-b10c 17 09/12/2025
3.1.0 30 09/12/2025
3.0.4-alpha-250213-160318-4a08 17 09/12/2025
3.0.3 17 09/12/2025
3.0.3-alpha-250213-133749-53b6 17 09/12/2025
3.0.3-alpha-250213-132119-d5db 18 09/12/2025
3.0.3-alpha-250213-130539-b07b 17 09/12/2025
3.0.3-alpha-250213-125441-3094 17 09/12/2025
3.0.3-alpha-250213-122223-8674 17 09/12/2025
3.0.3-alpha-250213-120113-59d6 17 09/12/2025
3.0.3-alpha-250213-113859-94de 14 09/12/2025
3.0.3-alpha-250213-110534-65b1 16 09/12/2025
3.0.3-alpha-250212-233611-1fed 15 09/12/2025
3.0.3-alpha-250212-231852-fff8 16 09/12/2025
3.0.3-alpha-250212-230354-88f1 18 09/12/2025
3.0.2 36 09/12/2025
3.0.1 17 09/12/2025
3.0.0 31 09/12/2025