Chakra.Core
2.0.7
See the version list below for details.
dotnet add package Chakra.Core --version 2.0.7
NuGet\Install-Package Chakra.Core -Version 2.0.7
<PackageReference Include="Chakra.Core" Version="2.0.7" />
paket add Chakra.Core --version 2.0.7
#r "nuget: Chakra.Core, 2.0.7"
// Install Chakra.Core as a Cake Addin #addin nuget:?package=Chakra.Core&version=2.0.7 // Install Chakra.Core as a Cake Tool #tool nuget:?package=Chakra.Core&version=2.0.7
Chakra.Core
Framework and guidelines for build .NET 4.x and .NET Core based enterprise applications.
- Given a defined set of entities and model for your application workflow...
public class Product: IEntity
{
public int? Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
- Define a repository interface for retrieve your domain entities
public interface IProductRepository: IRepository<Product>
{
IList<Product> FetchAvailableProductsInPeriod(DateTime from, DateTime to);
}
- Define one or more fake scenarios with a common interface for test (ad unit test) your application layers
public class IApplicationScenario: IScenario
{
IList<Product> Product{ get; set; }
}
public class SimpleScenario: IApplicationScenario
{
public IList<Product> Product{ get; set; }
public void InitializeEntities()
{
Products.Add(new Product
{
Id = Product.Count + 1,
Code = "ABC",
Name = "Product ABC",
Description = "Non important..."
});
}
}
- Implement a concrete class for a storage provider (ex: fake provider)
[Repository]
public class MockupProductRepository: MockupRepositoryBase<Product, IApplicationScenario>, IProductRepository
{
public MockupProductRepository(IDataSession dataSession)
: base(dataSession, scenario => scenario.Products) { }
public IList<Product> FetchAvailableProductsInPeriod(DateTime from, DateTime to)
{
//TODO...Insert here the method implementation
//ex. => Scenario.Products.Where(p => p...
}
}
- Register default data session for application (ex. fake data provider, specifying default scenario)
ScenarioFactory.Initialize(new SimpleScenario());
SessionFactory.RegisterDefaultSession<MockupDataSession>();
- Open session on storage (ex. database) using default configured provider, resolve repository interface using registered storage provider and obtain concrete repository implementation
using (IDataSession dataSession = SessionFactory.OpenSession())
{
var productRepository = dataSession.ResolveRepository<IProductRepository>();
var entities = productRepository.FetchAvailableProductsInPeriod(
new DateTime(2013, 8, 1), DateTime.Now);
}
You have the opportunity to switch a provider (ex. from fake to Entity Framework, from NHibernate to MongoDb) changing a single line of code on your application that can be really database agnostic and every single part can be tested in its own isolated context.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.ComponentModel.Annotations (>= 4.4.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Chakra.Core:
Package | Downloads |
---|---|
Chakra.Core.EntityFramework
Provider for Microsoft EntityFramework Core in Chakra.Core framework |
|
Chakra.Core.Configurations
Configuration extensions for Chakra.Core |
|
Chakra.Core.MongoDb
Provider for MongoDB in Chakra.Core framework |
|
Chakra.Core.Windows
Utilities and structure for Chakra.Core on Windows platform |
|
Chakra.Core.Mocks
Data providers and structures for mock data and scenarios |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
5.0.2 | 2,465 | 10/29/2021 |
5.0.0 | 1,298 | 6/21/2021 |
3.0.4 | 1,481 | 6/21/2021 |
3.0.3 | 3,002 | 7/2/2020 |
3.0.2 | 1,946 | 3/24/2020 |
3.0.1 | 1,391 | 3/23/2020 |
3.0.0 | 1,555 | 1/31/2020 |
2.0.15 | 13,301 | 10/24/2019 |
2.0.13 | 3,062 | 12/11/2018 |
2.0.12 | 2,246 | 10/30/2018 |
2.0.11 | 1,734 | 10/30/2018 |
2.0.10 | 1,686 | 7/17/2018 |
2.0.8 | 1,033 | 5/7/2018 |
2.0.7 | 2,018 | 12/20/2017 |
2.0.6 | 1,245 | 12/16/2017 |
2.0.5 | 1,302 | 12/7/2017 |
2.0.4 | 1,021 | 12/5/2017 |
2.0.3 | 1,164 | 12/5/2017 |
2.0.2 | 1,336 | 11/8/2017 |