- 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
IMapper
instead 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
CrudFacadeBase
there is async methodSaveAsync
which callsuow.CommitAsync(cancellationToken)
. If you called this in nesteduow
scope then it would raiseContext.SaveChanges
and that was wrong. PR #43
Add asynchronous metod in DotvvmFacadeExtensions
.
- Fix - added missing
this
keyword for Then overload in IncludeExtensions. - Fix - added missing
IsRefreshRequired
assignment inLoadFromQuery
extension 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
virtual
to async methods in repository. - Added ITemplate in MailMessageDTO.
- Added substitution feature to SendGridMailSender.
- Added missing implemntation of
LogException
in XunitOutputLogger.
DotvvmFacadeExtensions
use 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
IMessageFormatter
and default DefaultLogFormatter. - Modified DefaultExceptionFormatter:
- Added displaying of
Data
property. - Added displaying of reflected properties (with possibility to modify
IgnoredReflectionProperties
collection). - Added
ExceptionAdapters
property as collection ofIExceptionAdapter
with 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 fromQueryBase
toIQuery
. (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)