Skip to content

Commit 7f6e3ab

Browse files
committed
projects package information, scheduler factory changes
1 parent f1a28be commit 7f6e3ab

66 files changed

Lines changed: 677 additions & 1732 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README.md‎

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,172 @@
11
<a href="http://incframework.com"><img class="aligncenter size-full wp-image-1738" src="http://blog.incframework.com/upload/IncFramework-logo.png" alt="IncFramework-logo" widht="100%" height="auto" /></a>
22

33
<p style="text-align: justify;"><strong>Incoding Framework</strong> is awesome tool for Full-stack development. Try it with our <a href="https://github.com/IncodingSoftware/get-started">Get Started guide</a></p>
4+
5+
6+
7+
8+
9+
10+
# Incoding Framework
11+
12+
is the opensource library for rapid development web/desktop-applications. Incoding Framework can be used for resolving different kinds of issues - it supports all development life cycle. Incoding Framework helps make more things with less code:
13+
14+
Incoding Framework supports different design patterns
15+
Framework provides base classes for using CQRS
16+
Meta Language allows to create "rich" client web-applications
17+
In framework you can find methods an classes for unit tests
18+
19+
## Getting Started
20+
21+
Configuring:
22+
```
23+
public class IncodingStartup
24+
{
25+
public IncodingStartup(IConfiguration configuration)
26+
{
27+
Configuration = configuration;
28+
}
29+
30+
public IConfiguration Configuration { get; }
31+
32+
// This method gets called by the runtime. Use this method to add services to the container.
33+
public void ConfigureServices(IServiceCollection services)
34+
{
35+
services.AddMvc(options =>
36+
{
37+
// Configure Error Handling for mvc controllers
38+
options.Filters.Add(new IncodingErrorHandlingFilter());
39+
})
40+
.AddFluentValidation(configuration =>
41+
{
42+
// Setting up FluentValidation Validator Factory
43+
configuration.ValidatorFactory = new IncValidatorFactory();
44+
45+
AssemblyScanner.FindValidatorsInAssemblyContaining<ItemEntityMap>().ForEach(result =>
46+
{
47+
services.Add(ServiceDescriptor.Transient(result.InterfaceType, result.ValidatorType));
48+
services.Add(ServiceDescriptor.Transient(result.ValidatorType, result.ValidatorType));
49+
});
50+
});
51+
52+
// Configure Core services
53+
services.ConfigureIncodingCoreServices();
54+
55+
// Configure Entity Framework (requires Incoding.Data.EF provider). You can use any existing provider implementation available in Incoding.Data.* on Nuget
56+
services.ConfigureIncodingEFDataServices(typeof(ItemEntity), builder =>
57+
{
58+
builder.UseSqlServer(Configuration.GetConnectionString("Main"));
59+
});
60+
61+
// Configure Incoding Framework MVC services
62+
services.ConfigureIncodingWebServices();
63+
}
64+
65+
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
66+
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime applicationLifetime)
67+
{
68+
if (env.IsDevelopment())
69+
{
70+
app.UseBrowserLink();
71+
app.UseDeveloperExceptionPage();
72+
}
73+
else
74+
{
75+
app.UseExceptionHandler("/Home/Error");
76+
}
77+
78+
app.UseStaticFiles();
79+
80+
app.UseMvc(routes =>
81+
{
82+
// Configure CQRS routes (optional)
83+
routes.ConfigureCQRS();
84+
routes.MapRoute(
85+
name: "default",
86+
template: "{controller=Home}/{action=Index}/{id?}");
87+
});
88+
89+
// Configuring Incoding Framework IoC
90+
IoCFactory.Instance.Initialize(init => init.WithProvider(new MSDependencyInjectionIoCProvider(app.ApplicationServices)));
91+
92+
// Configuring Incoding Framework caching
93+
CachingFactory.Instance.Initialize(init => init.WithProvider(new NetCachedProvider(() => app.ApplicationServices.GetRequiredService<IMemoryCache>())));
94+
95+
BackgroundTaskFactory.Instance.AddScheduler();
96+
97+
// Configure some background services
98+
/*
99+
BackgroundTaskFactory.Instance.AddExecutor("SomeService",
100+
() =>
101+
{
102+
new DefaultDispatcher().Push(new BackgroundServiceCommand());
103+
}, options => options.Interval = TimeSpan.FromSeconds(15));
104+
105+
BackgroundTaskFactory.Instance.AddSequentalExecutor("Some Sequential Service",
106+
() => new SequentialTestQuery(), arg => new SequentialTestCommand()
107+
, options => options.Interval = TimeSpan.FromSeconds(15));
108+
*/
109+
110+
// Execute this after configuring all Tasks above (include Scheduler task)
111+
BackgroundTaskFactory.Instance.Initialize();
112+
113+
// Don't forget to stop all tasks when application is shutting down
114+
applicationLifetime.ApplicationStopping.Register(() =>
115+
{
116+
BackgroundTaskFactory.Instance.StopAll();
117+
});
118+
}
119+
}
120+
```
121+
122+
### Prerequisites
123+
124+
* Incoding.Core
125+
* Incoding.Data -> Incoding.Data.* (providers)
126+
* Incoding.Web
127+
* Your web application
128+
129+
OR
130+
131+
* Incoding.Core
132+
* Incoding.Data -> Incoding.Data.* (providers)
133+
* Your desktop/other application
134+
135+
136+
### Testing
137+
138+
Incoding.MSpec
139+
140+
### Installing
141+
142+
Web App:
143+
```
144+
Nuget (including all dependencies): Incoding.Web
145+
Nuget (EF provider): Incoding.Data.EF
146+
```
147+
148+
Domain Library:
149+
```
150+
Nuget (including all dependencies): Incoding.Data
151+
Nuget (EF provider): Incoding.Data.EF
152+
```
153+
154+
### Usage Example
155+
```
156+
Coming soon
157+
```
158+
159+
## Versioning
160+
161+
For the versions available, see the [tags on this repository](https://github.com/Incoding-Software/Incoding-Framework-Core/tags).
162+
163+
## Authors
164+
165+
* **Vlad Kopachinsky** - *Original version* - [Incoding Framework](https://github.com/Incoding-Software/Incoding-Framework)
166+
167+
* **Victor Gelmutdinov** - *.NET Core migration work*
168+
169+
## License
170+
171+
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
172+

‎src/IncFramework.sln‎

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Incoding.Data.Mongo", "Inco
3131
EndProject
3232
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Incoding.Data.Raven", "Incoding.Data.Raven\Incoding.Data.Raven.csproj", "{261F1844-E79E-43D5-9A3B-D0E5F6768291}"
3333
EndProject
34-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Incoding.Core.Caching.Memcached", "Incoding.Core.Caching.Memcached\Incoding.Core.Caching.Memcached.csproj", "{D04DC0E2-D7B0-4CD8-A3B9-01465F730A09}"
34+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Incoding.Core.Caching.Memcached", "Incoding.Core.Caching.Memcached\Incoding.Core.Caching.Memcached.csproj", "{D04DC0E2-D7B0-4CD8-A3B9-01465F730A09}"
3535
EndProject
36-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Incoding.Core.IoC.SimpleInjector", "Incoding.Core.IoC.SimpleInjector\Incoding.Core.IoC.SimpleInjector.csproj", "{B44D9211-9916-4B60-A013-B89F433CA3F9}"
36+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Incoding.Core.IoC.SimpleInjector", "Incoding.Core.IoC.SimpleInjector\Incoding.Core.IoC.SimpleInjector.csproj", "{B44D9211-9916-4B60-A013-B89F433CA3F9}"
37+
EndProject
38+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Providers", "Providers", "{540D8C0B-630F-48A8-875B-8CFA62F498E2}"
39+
EndProject
40+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Testing", "Testing", "{81999E6B-994A-4762-A4E3-AB5AC3BAE569}"
3741
EndProject
3842
Global
3943
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -134,22 +138,25 @@ Global
134138
{7FE49241-90AD-4BD2-BFF5-4E49E5238031} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
135139
{A6C75E3B-28AC-4EA3-99B5-014C3541657B} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
136140
{7FA0F901-5A61-4EBA-8D3F-739FE4394A7F} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
141+
{FD898759-A664-4053-B750-B89BD5EBAD70} = {81999E6B-994A-4762-A4E3-AB5AC3BAE569}
137142
{042FAB17-F5D6-4DEF-97B9-DB85FA7D831F} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
138-
{5161D152-6803-46E4-B3E2-ABB8727C91E5} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
139-
{923ECD3D-3BF3-41EA-8359-1117C72AC9BD} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
140-
{65546B67-1D7A-4127-8C33-197819DAD18F} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
141-
{261F1844-E79E-43D5-9A3B-D0E5F6768291} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
142-
{D04DC0E2-D7B0-4CD8-A3B9-01465F730A09} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
143-
{B44D9211-9916-4B60-A013-B89F433CA3F9} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
143+
{5161D152-6803-46E4-B3E2-ABB8727C91E5} = {81999E6B-994A-4762-A4E3-AB5AC3BAE569}
144+
{923ECD3D-3BF3-41EA-8359-1117C72AC9BD} = {540D8C0B-630F-48A8-875B-8CFA62F498E2}
145+
{65546B67-1D7A-4127-8C33-197819DAD18F} = {540D8C0B-630F-48A8-875B-8CFA62F498E2}
146+
{261F1844-E79E-43D5-9A3B-D0E5F6768291} = {540D8C0B-630F-48A8-875B-8CFA62F498E2}
147+
{D04DC0E2-D7B0-4CD8-A3B9-01465F730A09} = {540D8C0B-630F-48A8-875B-8CFA62F498E2}
148+
{B44D9211-9916-4B60-A013-B89F433CA3F9} = {540D8C0B-630F-48A8-875B-8CFA62F498E2}
149+
{540D8C0B-630F-48A8-875B-8CFA62F498E2} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
150+
{81999E6B-994A-4762-A4E3-AB5AC3BAE569} = {506ED6C6-6671-43EC-98A9-5FBF14201B62}
144151
EndGlobalSection
145152
GlobalSection(ExtensibilityGlobals) = postSolution
146-
BuildVersion_UpdateAssemblyVersion = False
147-
BuildVersion_UpdateFileVersion = False
148-
BuildVersion_BuildAction = ReBuild
149-
BuildVersion_IncrementBeforeBuild = True
150-
BuildVersion_DetectChanges = True
151-
BuildVersion_BuildVersioningStyle = None.None.None.None
152153
SolutionGuid = {834D889F-F4B3-4006-83EC-584703FCCDA2}
154+
BuildVersion_BuildVersioningStyle = None.None.None.None
155+
BuildVersion_DetectChanges = True
156+
BuildVersion_IncrementBeforeBuild = True
157+
BuildVersion_BuildAction = ReBuild
158+
BuildVersion_UpdateFileVersion = False
159+
BuildVersion_UpdateAssemblyVersion = False
153160
EndGlobalSection
154161
GlobalSection(NDepend) = preSolution
155162
Project = ".\IncFramework.ndproj"

‎src/Incoding.Core.Caching.Memcached/Incoding.Core.Caching.Memcached.csproj‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5+
<Authors>Vlad Kopachinsky, Victor Gelmutdinov</Authors>
6+
<Company>Incoding Software</Company>
7+
<Product>Incoding.Web</Product>
8+
<Description>Memcached provider for Incoding Software caching</Description>
9+
<Copyright>Incoding Software, 2018</Copyright>
10+
<PackageLicenseUrl>https://github.com/Incoding-Software/Incoding-Framework-Core/blob/master/LICENSE.md</PackageLicenseUrl>
11+
<PackageProjectUrl>http://incframework.com</PackageProjectUrl>
12+
<PackageIconUrl>http://incframework.com/Content/ico/icon-144x144.png</PackageIconUrl>
13+
<RepositoryUrl>https://github.com/Incoding-Software/Incoding-Framework-Core</RepositoryUrl>
14+
<PackageTags>framework, incoding, caching, memcached, provider</PackageTags>
15+
<PackageReleaseNotes>Incoding Framework library migrated to .NET Standard and .NET Core</PackageReleaseNotes>
516
</PropertyGroup>
617

718
<ItemGroup>

‎src/Incoding.Core.IoC.SimpleInjector/Incoding.Core.IoC.SimpleInjector.csproj‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5+
<Authors>Vlad Kopachinsky, Victor Gelmutdinov</Authors>
6+
<Company>Incoding Software</Company>
7+
<Product>Incoding.Web</Product>
8+
<Description>SimpleInjector IoC provider for Incoding Software</Description>
9+
<Copyright>Incoding Software, 2018</Copyright>
10+
<PackageLicenseUrl>https://github.com/Incoding-Software/Incoding-Framework-Core/blob/master/LICENSE.md</PackageLicenseUrl>
11+
<PackageProjectUrl>http://incframework.com</PackageProjectUrl>
12+
<PackageIconUrl>http://incframework.com/Content/ico/icon-144x144.png</PackageIconUrl>
13+
<RepositoryUrl>https://github.com/Incoding-Software/Incoding-Framework-Core</RepositoryUrl>
14+
<PackageTags>framework, incoding, ioc, di, dependency injection, simpleinjector</PackageTags>
15+
<PackageReleaseNotes>Incoding Framework library migrated to .NET Standard and .NET Core</PackageReleaseNotes>
516
</PropertyGroup>
617

718
<ItemGroup>

‎src/Incoding.Core/Block/Counter/CounterFactory.cs‎

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)