- Fixed synchronization of collections via
SyncByKeyCollectionResolver- PR #59
- Target frameworks updated to .NET Standard 2.1, .NET 6 and .NET Framework 4.7.2
- Updated nuget packages
- Entity Framework (full) updated to 6.4.4
- Entity Framework Core updated to 6.0.2
- AutoMapper updated to version 10 (for .NET Framework 4.7.2) and 11 (for .NET Standard 2.1 and .NET 6)
- Breaking change: implementation changed to use
IMapperinstead of staticMapper
- Breaking change: implementation changed to use
- Removed projects for Azure Table Storage
- Fix with breaking change! Fixed insidious bug in EFCore and EF unit of work which appeared after async methods were added into facades (v2.2.0). In class
CrudFacadeBasethere is async methodSaveAsyncwhich callsuow.CommitAsync(cancellationToken). If you called this in nesteduowscope then it would raiseContext.SaveChangesand that was wrong. PR #43
Add asynchronous metod in DotvvmFacadeExtensions.
- Fix - added missing
thiskeyword for Then overload in IncludeExtensions. - Fix - added missing
IsRefreshRequiredassignment inLoadFromQueryextension method.
- Fix for Table Storage treating two different entities with same partition and row keys as one record.
- Fix for Table Storage not returning all entities correctly when browsing through storage with over 1,000 items.
- Added async methods into facades.
- Added checking for child UoW commit request.
- Updated SendGrid nuget.
- Fixed bug in MailerService (empty
OverrideToAddresses). - Added EF-ThenInclude support for collections.
- Added
virtualto async methods in repository. - Added ITemplate in MailMessageDTO.
- Added substitution feature to SendGridMailSender.
- Added missing implemntation of
LogExceptionin XunitOutputLogger.
DotvvmFacadeExtensionsuse interfaces instead of implementation now.
- Added icon for NuGet packages.
- Fixed NuGet package Id for Riganti.Utils.Infrastructure.Azure.TableStorage (old Id: Riganti.Utils.Infrastructure.Services.Azure.TableStorage).
- Added facade interfaces (5676d58):
- Added ITemporalEntity (2cf8d40).
- Added TemporalRelationshipCrudFacade (359f3b3) with unit tests.
- Fixed default timestamp format in DefaultMessageFormatter (1ebe6d6).
- Fix - directory is created if not exists in PickupFolderMailSender (PR #28).
- Added optional parametr
keepRemovedItemsInDestinationCollection(default value is true) for methodSyncCollectionByKey(a55350b).
- Refactored Message Formater in logging - removed from ConsoleLogger and TextFileLogger and added to LoggerBase. Default value set to DefaultMessageFormatter (8578ef4).
- Namespaces refactoring (PR #26)
- Riganti.Utils.Infrastructure.Services.Smtp.Mailing namespace has been removed, all types moved to Riganti.Utils.Infrastructure.Services.Mailing namespace.
- All *.Services.Logging.* namespaces renamed to *.Logging.* (Service part was removed).
- Logging extended (edeab27)
- Added methods to ILogger
interface and LoggerBase
class:
LogVerbose(string message),LogInfo(string message), etc. - Added ConsoleLogger.
- Added EmptyLogger.
- Added
IMessageFormatterand default DefaultLogFormatter. - Modified DefaultExceptionFormatter:
- Added displaying of
Dataproperty. - Added displaying of reflected properties (with possibility to modify
IgnoredReflectionPropertiescollection). - Added
ExceptionAdaptersproperty as collection ofIExceptionAdapterwith default DbEntityValidationExceptionAdapter, that allows to format specific exception.
- Added displaying of
- Added methods to ILogger
interface and LoggerBase
class:
- ILogger and Severity moved to Riganti.Utils.Infrastructure.Core.
- Added XUnitOutputLogger and NuGet package Riganti.Utils.Infrastructure.Testing.
- Riganti.Utils.Infrastructure.Services.Logging
- Riganti.Utils.Infrastructure.Services.Logging.ApplicationInsights
- Riganti.Utils.Infrastructure.Services.Logging.Email
- Riganti.Utils.Infrastructure.Services.Smtp
- Fixed
EntityFrameworkRepository.Delete(TKey id)method - attach fake entity only when not found in local context. (PR #24) ISortableQuery<TQueryableResult>interface moved fromQueryBasetoIQuery. (PR #25)
- Fixed AutoMapper extension methods for Entity Framework. (39e0dac)
- Added CRUD facade permitions validation. (ba46bd6)
- Add mapping from DTO to Entity to
EntityDTOMapper. (PR #22)