Maxsys.Core
7.2.0
See the version list below for details.
dotnet add package Maxsys.Core --version 7.2.0
NuGet\Install-Package Maxsys.Core -Version 7.2.0
<PackageReference Include="Maxsys.Core" Version="7.2.0" />
paket add Maxsys.Core --version 7.2.0
#r "nuget: Maxsys.Core, 7.2.0"
// Install Maxsys.Core as a Cake Addin #addin nuget:?package=Maxsys.Core&version=7.2.0 // Install Maxsys.Core as a Cake Tool #tool nuget:?package=Maxsys.Core&version=7.2.0
<div align="center"> <img src="src\Maxsys.Core\maxsys-core.png" alt="drawing" width="256" /> <h1>Maxsys Core</h1> </div>
Maxsys.Core é uma biblioteca desenvolvida em C# contendo itens básicos para criação de aplicações Maxsys.
O framework de destino utilizado é o .NET 7.0
.
Esse pacote contém interfaces e classes bases como IRepositoryBase
, EntityBase
, além de classes helpers e extensions como GuidGen
para gerar Guids sequenciais e ValidationResultExtensions
que possui métodos de extensão para a classe FluentValidation.ValidationResult
.
Essa biblioteca auxilia no desenvolvimento de minhas aplicações Windows Forms
, WPF
e ASP.NET
.
⛓ Dependências
- AutoMapper.Extensions.Microsoft.DependencyInjection
- FluentValidation
- Microsoft.Extensions.DependencyInjection.Abstractions
- System.Drawing.Common
🛠 Release notes
7.2.0
- Adicionado método de extensão
ApplyCriteria
emIQueryableExtensions
. É um atalho paraqueryable.ApplySort(...).ApplyCriteria(...)
. - Ordem dos genéricos em
IRepository
alterada. AgoraTKey
vem antes de todos. IRepository
de TKey=object removido.
7.1.2
- Refatoração e alteração de nome de
IRepositoryBase
paraIRepository
. - Alteração de namespaces:
IRepositoryBase
:Maxsys.ModelCore.Interfaces.Repositories
paraMaxsys.DataCore.Interfaces
(IRepository
).IDialogService
:Maxsys.ModelCore.Interfaces.Services
paraMaxsys.ModelCore.Services
.
- Refatoração de ValueObject.
- Adicionados métodos em
JsonExtensions
. - Adicionadas classes para Obtenção de dados (DTOS), Filtragem, Ordenação e Listagem de dados utilizadas em implementações de Repositório e Service.
- DTOS:
IDTO
,InfoDTO
,ListDTO
.
- Filtering:
IFilter
,ActiveTypes
,FilterBase
eRangeFilter
.
- Sorting:
ISortColumnSelector
,SortDirection
eSortFilter
.
- Listing:
Criteria
ePagination
.
- DTOS:
- Adicionado método de extensão para
IServiceCollection
que registra automaticamente todas as implementações deISortColumnSelector
. - Adicionado
IQueryableExtensions
com métodos para aplicar paginação, ordenamento viaISortColumnSelector
eLeftOuterJoin
. - Pacote Nuget adicionado:
- AutoMapper.Extensions.Microsoft.DependencyInjection: 12.0.0
- Adicionadas interfaces e implementações para service:
IService
eServiceBase
.
7.0.0
- TargetFramework alterado para
.net7.0
. - Pacotes Nuget atualizados:
- FluentValidation: 11.5.1
- Microsoft.Extensions.DependencyInjection.Abstractions: 7.0.0
- System.Drawing.Common: 7.0.0
- Objetos MVVM (
MVVMObject
,NotifiableObject
eViewModelBase
) excluídos. Existem muitas bibliotecas por aí para isso. - Refatoração da implementação de
IEquatable<T>
emEntityBase<TKey>
. - Refatoração de
IUnitOfWork
. - Refatoração de
ValidationResultExtensions
.- Método de extensão em
AddErrorMessage()
removido. Utilizar sobrecargaAddError()
. - Adicionada opção de passar
Severity
como parâmetro.
- Método de extensão em
- Adicionado
JsonExtensions
.
6.2.1
ApplicationServiceBase
removido.IUnitOfWork
reescrito.- Adicionado
CountAsync()
eContextId
emIRepositoryBase
. ValidationResultExtensions
reescrito.IServiceCollectionExtensions
adicionado.
6.1.0
IServiceBase
eServiceBase
removidos.- Classe
IReadonlyRepositoryBase
removida. IRepositoryBase
remodelado tendo métodos synchronous em excluídos.EnumExtensions
adicionada.- Ajustes em
GuidGen
. - Outras correções menores.
6.0.2
- Correções menores.
6.0.1
ViewModelBase
agora reescrita para implementarMVVMObject
que por sua vez, implementaNotifiableObject
.NotifiableObject
é a implementação deINotifyPropertyChanged
.- TargetFramework alterado para
.net6.0
. - Versionamento alterado para coincidir com o a versão do .net para o TargetFramework.
- Métodos obsoletos removidos.
1.2.0
- Interface
IDialogService
totalmente reescrita. - Refatoração da interface
IServiceBase
e da classeServiceBase
:- Os métodos
Add()
/AddAsync()
eUpdate()
/UpdateAsync()
agora permitem a passagem de umIValidator
como parâmetro. Nos métodos semIValidator
, nenhuma validação será realizada.
- Os métodos
1.1.4
- Adicionada referência para
System.Threading.Tasks.Extensions
. - Alterações em
IOHelper
:- Documentação xml adicionada.
Adicionados métodos assíncronos para operações com arquivos (
MoveFileAsync()
,MoveOrOverwriteFileAsync()
,CopyFileAsync()
eDeleteFileAsync()
).
- Documentação xml adicionada.
Adicionados métodos assíncronos para operações com arquivos (
- Alterações em
IEnumerableExtensions
:- Adicionados métodos de extensão
ToObservableCollection()
eToReadOnlyObservableCollection()
.
- Adicionados métodos de extensão
- Adicionado método
DateTimeToUID_64Bits()
emGuidGen
.
1.1.3
- Alterações em
ValidationResultExtensions
:ErrorsToString()
foi descontinuado.- Adicionado método
ErrorMessagesAsEnumerable()
para substituirErrorsAsEnumerable()
que foi descontinuado. - Adicionado sobrecarga em método
ValidationResult.AddFailure()
que agora aceitaExeception
como parâmetro.
- Alterações em
ImageHelper
:- Documentação xml adicionada ao código.
SavePicture()
foi descontinuado.- Corrigido bug em
ImageFromBytes()
. - Adicionados métodos
SaveByteArrayImageIntoJpgFile()
,SaveImageIntoJpgFile()
, bem como suas versõesasync
para.net5.0
ou maior.
1.1.2
- Ajuste em
IEnumerableExtensions
para compatibilidade com.net5.0
.
1.1.1
IReadonlyRepositoryBase
adicionado ao projeto.- Ajustes em
.csproj
:- Mudança de TargetFramework para
.net5.0
. - Inserção de tags xml.
- Mudança de TargetFramework para
ViewModelBase
alterada para permitir comparação de valores nulos.
1.0.0
- Primeiro lançamento.
✒️ Autores
Aqui uma menção à Jeremy H. Todd, autor de uma das features usadas nesse projeto (geração de guid sequencial).
🧐 Aprendizagem
Através desse projeto, tenho a oportunidade de por em prática parte do conhecimento adquirido. Obviamente, ainda é limitado, mas a intenção é sempre buscar a melhora.
🗝 Licença
Este código possui licença MIT e está liberado para uso da maneira que se desejar.
📧 Feedback
Quaisquer sugestões ou outro contato, escreva-me em maxsystech@outlook.com.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net7.0
- AutoMapper.Extensions.Microsoft.DependencyInjection (>= 12.0.0)
- FluentValidation (>= 11.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- System.Drawing.Common (>= 7.0.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Maxsys.Core:
Package | Downloads |
---|---|
Maxsys.Core.Data
Biblioteca Maxsys Core para acesso a dados utilizando Entity Framework, Repository Pattern e UnitOfWork Pattern. |
|
Maxsys.Core.Web
Biblioteca Maxsys Core para utilização de recursos Web. |
|
Maxsys.Core.Excel
Biblioteca Maxsys Core para acesso a arquivo Excel. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
12.0.0 | 110 | 9/2/2024 |
11.0.0 | 95 | 7/28/2024 |
10.1.0 | 127 | 3/29/2024 |
10.0.0 | 222 | 2/12/2024 |
9.0.0 | 321 | 8/20/2023 |
7.3.0 | 318 | 5/1/2023 |
7.2.0 | 373 | 3/12/2023 |
7.1.2 | 435 | 2/27/2023 |
6.2.1 | 530 | 8/21/2022 |
6.1.0 | 490 | 8/20/2022 |
6.0.2 | 546 | 1/14/2022 |
1.2.0 | 412 | 9/23/2021 |
1.1.4 | 447 | 9/20/2021 |
1.1.3 | 454 | 9/13/2021 |
1.1.2 | 447 | 8/29/2021 |
1.1.1 | 408 | 8/28/2021 |
1.0.0 | 405 | 8/20/2021 |
7.2.0
- Adicionado método de extensão ApplyCriteria em IQueryableExtensions. É um atalho para queryable.ApplySort(...).ApplyCriteria(...).
- Ordem dos genéricos em IRepository alterada. Agora TKey vem antes de todos.
- IRepository de TKey=object removido.