Skip to content

Conversation

@rafidzal
Copy link
Collaborator

  • GENERAL CHANGES
    • Created Sif.Framework technology specific projects for ASP.NET Core and Entity Framework Core.
      • Sif.Framework.AspNetCore
      • Sif.Framework.EntityFrameworkCore
    • Created a new Environment Provider project based upon ASP.NET Core.
      • Sif.Framework.AspNetCore.EnvironmentProvider
    • Added unit tests for Entity Framework Core specific code.
    • Added training projects to supplement the documented training exercises.
      • Sif.Framework.Training.TestConsumer
      • Sif.Framework.Training.TestProvider
    • Refactored methods from the EnvironmentUtils, HttpUtils and ProviderUtils classes into corresponding extension methods.
    • Fixed error managment issues in the SessionService class.
    • Updated the demo projects to .NET Framework 4.7.2.
      • Sif.Framework.Demo.Au.Consumer
    • Replace some exception classes with equivalent exception classes from the Tardigrade.Framework NuGet package.
    • Created documentation specific to the ASP.NET Core version of the SIF Framework.
    • Created demo set-up, Consumer and Provider projects specific to the ASP.NET Core version of the SIF Framework.
      • Sif.Framework.Demo.Consumer
      • Sif.Framework.Demo.NetCore.Setup
      • Sif.Framework.Demo.Provider
    • Created shell scripts to run the ASP.NET Core demo projects.
    • Upgraded all ASP.NET Web API, Demo and Unit Test projects from .NET Framework 4.6.1 to 4.7.2.
    • Split the functionality of EnvironmentService into 2 classes to better reflect the original intent of the service - EnvironmentService and EnvironmentDtoService. Updated references to reflect this change.
    • Corrected a return type design issue with the IEnvironmentService interface.
    • Updated the DbContext to eager load all relationships.
    • Updated the ArrayOfOutputFormatter class constructor to accept a string rather than the IFrameworkSettings interface.
    • Deprecating the following classes:
      • Model/Settings/ConfigFileBasedFrameworkSettings
      • Model/Settings/ConsumerSettings
      • Model/Settings/ProviderSettings
      • Utils/SettingsManager
    • Updated XML documentation in classes.
    • Updated third-party NuGet packages.
    • General code clean-up.
  • CHANGES AFFECTING BACKWARD COMPATIBILITY
    • Added .NET 6 as a Target Framework to the Sif.Framework project and dropped .NET Framework 4.7.2.
    • Removed .NET Framework 4.6.1 as a Target Framework from all SDK-style library projects.
    • Deprecated the IPersistable interface for the IHasUniqueIdentitifer interface from the Tardigrade.Framework NuGet package.
    • Re-designed the ISifService interface.
    • Re-designed the IAuthorisationService and IAuthenticationService interfaces.
    • Infrastructure model objects that referenced associations using an IDictionary have been refactored to use ICollection instead. These changes have been reflected in the NHibernate mapping files and AutoMapper mappings.
      • Environment
      • EnvironmentRegister
      • Job
      • Phase
      • Service
      • Zone
    • Re-ordered the constructor parameters for the RequestParameter class.
    • Replaced references to the IGenericRepository interface with the IRepository interface from the Tardigrade.Framework NuGet package.
    • Replaced references to the IGenericService interface with the IObjectService interface from the Tardigrade.Framework NuGet package.
    • Replaced references to the GenericService class with the ObjectService class from the Tardigrade.Framework NuGet package.
    • Refactored the constructor of all infrastructure service classes to allow for injection of repositories and services.
    • Updated the NHibernate mapping for the Environment class to save the EnvironmentType enum property as a string rather than integer.
  • CHANGES WHICH BREAK BACKWARD COMPATIBILITY WITH IMPLEMENTED CONSUMERS AND PROVIDERS
    • Split the Sif.Framework project into multiple technology specific projects for ASP.NET Web API, Entity Framework and NHibernate.
      • Sif.Framework.AspNet
      • Sif.Framework.EntityFramework
      • Sif.Framework.NHibernate
    • Renamed the Sif.Framework.Model namespace to Sif.Framework.Models.
    • Renamed the Sif.Framework.Service namespace to Sif.Framework.Services.
    • Removed the Sif.Framework.EntityFramework.Services.Sessions namespace and migrated classes to Sif.Framework.Services.Sessions.
    • Updated all Controllers/Providers so that services are passed to the constructor as opposed to instantiated by the Controller/Provider.

rafidzal added 30 commits March 12, 2022 12:43
- Updated the EnvironmentService class constructor to add an IEnvironmentRepository interface.
- General code clean-up.
… interface from the Tardigrade.Framework NuGet package.

- General code clean-up.
… interface from the Tardigrade.Framework NuGet package.

- General code clean-up.
…Framework.AspNet.

- Added .NET 6 as a Target Framework to the Sif.Framework project.
- Removed .NET Framework 4.6.1 as a Target Framework from all SDK-style library projects.
- Upgraded all ASP.NET Web API, Demo and Unit Test projects from .NET Framework 4.6.1 to 4.7.2.
- Updated third-party NuGet packages.
…EnvironmentProvider project to reference the Sif.Framework.AspNet project.

- Created a new Environment Provider project for ASP.NET Core - Sif.Framework.AspNetCore.EnvironmentProvider.
- General code clean-up.
…EnvironmentProvider project to reference the Sif.Framework.AspNet project.

- Created a new Environment Provider project for ASP.NET Core - Sif.Framework.AspNetCore.EnvironmentProvider.
- General code clean-up.
…entService interface rather then constructing one.
…Hibernate. Moved all NHIbernate specific code from the Sif.Framework project to this new project.

-  Updated the ApplicationRegisterService class constructor to add an IApplicationRegisterRepository interface.
…constructor as opposed to instantiated by the Controller/Provider.
…constructor as opposed to instantiated by the Controller/Provider.
…Framework project.

- Updated the NHibernate mapping files to reference the new Sif.Framework.NHibernate assembly.
- References to NHibernate specific code now use Sif.Framework.NHibernate.
- Updated the way the EnvironmentProviderSessionFactory class finds the SifFramework.cfg.xml file.
…Sif.Framework.AspNet project.

- Refactored methods from the EnvironmentUtils.cs and HttpUtils.cs classes into corresponding extension methods.
- Removed the StringUtils.cs class.
- Code clean-up of SIF Consumers.
…Web API specific code) from the Sif.Framework project. Re-factored all referenced code from the Sif.Framework and demo projects.

- Returned the IProvider.cs interface from the Sif.Framework.AspNet project back to the Sif.Framework project.
- Moved ASP.NET Web API specific extension code from the Sif.Framework project to the Sif.Framework.AspNet project.
…amework project.

- Removed the ASP.NET Web API specific NuGet packages from the Sif.Framework project - Microsoft.AspNet.WebApi.Core, Microsoft.AspNet.WebApi.WebHost.
- Moved remaining ASP.NET Web API specific classes from the Sif.Framework project to the Sif.Framework.AspNet project.
- Moved the IProvider.cs interface back from the Sif.Framework project to the Sif.Framework.AspNet project.
…ions of Providers and associated code - Sif.Framework.AspNetCore.

- Created ASP.NET Core versions of existing Providers and associated classes.
- Added a generic parameter to the IAuthenticationService.cs interface to make it usable across ASP.NET and ASP.NET Core implemnetations.
- Added a generic parameter to the IAuthorisationService.cs interface to make it usable across ASP.NET and ASP.NET Core implemnetations.
- Moved authentication and authorisation service implementations from the Sif.Framework project to the Sif.Framework.AspNet project.
- Minor re-design of the RequestParameter.cs class constructor.
- Created a demo project to hold ASP.NET Core implementations of Providers - Sif.Framework.Demo.AspNet.Provider.
- General code clean-up.
- Temporarily commented out code associated with Query by Example and Query by Service Path.
- Created an ASP.NET Core Provider demo project that uses NHibernate.
… "s" postfix when serialising a collection of objects.

- Updated the Provider to allow specification of the Response content from the URL.
- Temporarily commented out sections of the demo AU ConsumerApp until the ASP.NET Core version of the demo Provider can be fully implemented.
- Temporarily changed the service endpoints in the EnvironmentResponse.xml data file for AU Sif3DemoConsumer.
…ade.Framework.EntityFrameworkCore.

- Created demo setup data files for the AU Consumer to connect to the ASP.NET Core demo Provider.
…the IRepository interface from the Tardigrade.Framework NuGet package. This required the removal of bulk operations and retrieval by example object.
… IObjectService interface from the Tardigrade.Framework NuGet package.
…terface.

- Removed redundant zoneId and contextId parameters from all methods of the ISifService interface.
…ter reflect the original intent of the service - EnvironmentService and EnvironmentDtoService. Updated references to reflect this change.
…work project.

- Implemented required repositories for the Sif.Framework.EntityFrameworkCore project.
- Updated the repositories in Sif.Framework.NHibernate to ensure consistency of thrown exceptions.
- Moved the SessionService.cs class from the Sif.Framework.EntityFramework project to the Sif.Framework project.
- Updated third-party NuGet packages in the Sif.Framework.EntityFramework.Tests project.
- Updated XML documentation in classes.
… - Sif.Framework.EntityFrameworkCore.Tests.

- Created new SIF Infrastructure models based upon Entity Framework Core.
- Created a DbContext based upon Entity Framework Core.
rafidzal added 29 commits May 8, 2022 16:47
…of the passed type.

- Fixed an issue with the MethodOverrideMiddleware configuration on start up.
- Updated the ConsumerApp to return code for deleting multiple students.
…ence the XmlRootAttribute of the associated generic type.
…e delete configuration with SQL Server. Updated the Demo.AspNetCore.Setup project to better support LocalDB in addition to SQLite.
…ork.Demo.NetCore.Setup. Updated documentation and BAT scripts accordingly.
…ining exercises. Enhanced the RegistrationService to provide more meaningful exception messages.
…es to Sif.Framework.Models and Sif.Framework.Services respectively.
…ckages rather then direct project references.
@rafidzal rafidzal merged commit 4b23983 into master Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants