Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
CleanArchitecture
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
CleanArchitecture
Commits
5f0182a0
Commit
5f0182a0
authored
Oct 27, 2017
by
Steve Smith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
parent
f2cb9398
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
71 additions
and
12 deletions
+71
-12
ISeedData.cs
src/CleanArchitecture.Core/Interfaces/ISeedData.cs
+11
-0
ValueObject.cs
src/CleanArchitecture.Core/SharedKernel/ValueObject.cs
+2
-2
SeedData.cs
src/CleanArchitecture.Infrastructure/Data/SeedData.cs
+35
-0
InfrastructureRegistry.cs
...leanArchitecture.Infrastructure/InfrastructureRegistry.cs
+14
-0
CleanArchitecture.Web.csproj
src/CleanArchitecture.Web/CleanArchitecture.Web.csproj
+1
-1
Startup.cs
src/CleanArchitecture.Web/Startup.cs
+7
-8
EfRepositoryShould.cs
...Architecture.Tests/Integration/Data/EfRepositoryShould.cs
+1
-1
No files found.
src/CleanArchitecture.Core/Interfaces/ISeedData.cs
0 → 100644
View file @
5f0182a0
using
System.Collections.Generic
;
using
CleanArchitecture.Core.SharedKernel
;
namespace
CleanArchitecture.Core.Interfaces
{
public
interface
ISeedData
{
void
PopulateTestData
();
}
}
\ No newline at end of file
src/CleanArchitecture.Core/SharedKernel/ValueObject.cs
View file @
5f0182a0
...
...
@@ -31,9 +31,9 @@ namespace CleanArchitecture.Core.SharedKernel
return
!(
obj1
==
obj2
);
}
public
bool
Equals
(
ValueObject
o
bj
)
public
bool
Equals
(
ValueObject
o
ther
)
{
return
Equals
(
o
bj
as
object
);
return
Equals
(
o
ther
as
object
);
}
public
override
bool
Equals
(
object
obj
)
...
...
src/CleanArchitecture.
Web
/SeedData.cs
→
src/CleanArchitecture.
Infrastructure/Data
/SeedData.cs
View file @
5f0182a0
using
CleanArchitecture.Core.Entities
;
using
CleanArchitecture.Infrastructure.Data
;
namespace
CleanArchitecture.
Web
namespace
CleanArchitecture.
Infrastructure.Data
{
public
static
class
SeedData
public
class
SeedData
{
public
static
void
PopulateTestData
(
AppDbContext
dbContext
)
private
readonly
AppDbContext
_dbContext
;
public
SeedData
(
AppDbContext
dbContext
)
{
_dbContext
=
dbContext
;
}
public
void
PopulateTestData
()
{
var
toDos
=
dbContext
.
ToDoItems
;
var
toDos
=
_
dbContext
.
ToDoItems
;
foreach
(
var
item
in
toDos
)
{
dbContext
.
Remove
(
item
);
_
dbContext
.
Remove
(
item
);
}
dbContext
.
SaveChanges
();
dbContext
.
ToDoItems
.
Add
(
new
ToDoItem
()
_
dbContext
.
SaveChanges
();
_
dbContext
.
ToDoItems
.
Add
(
new
ToDoItem
()
{
Title
=
"Test Item 1"
,
Description
=
"Test Description One"
});
dbContext
.
ToDoItems
.
Add
(
new
ToDoItem
()
_
dbContext
.
ToDoItems
.
Add
(
new
ToDoItem
()
{
Title
=
"Test Item 2"
,
Description
=
"Test Description Two"
});
dbContext
.
SaveChanges
();
_
dbContext
.
SaveChanges
();
}
}
...
...
src/CleanArchitecture.Infrastructure/InfrastructureRegistry.cs
0 → 100644
View file @
5f0182a0
using
CleanArchitecture.Core.Interfaces
;
using
CleanArchitecture.Infrastructure.Data
;
using
StructureMap
;
namespace
CleanArchitecture.Infrastructure
{
public
class
InfrastructureRegistry
:
Registry
{
public
InfrastructureRegistry
()
{
For
(
typeof
(
IRepository
<>)).
Add
(
typeof
(
EfRepository
<>));
}
}
}
src/CleanArchitecture.Web/CleanArchitecture.Web.csproj
View file @
5f0182a0
...
...
@@ -19,7 +19,6 @@
<ItemGroup>
<ProjectReference Include="..\CleanArchitecture.Core\CleanArchitecture.Core.csproj" />
<ProjectReference Include="..\CleanArchitecture.Infrastructure\CleanArchitecture.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
...
...
@@ -27,6 +26,7 @@
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="StructureMap.Microsoft.DependencyInjection" Version="1.4.0" />
</ItemGroup>
<ItemGroup>
...
...
src/CleanArchitecture.Web/Startup.cs
View file @
5f0182a0
...
...
@@ -38,17 +38,15 @@ namespace CleanArchitecture.Web
{
config
.
Scan
(
_
=>
{
_
.
AssemblyContainingType
(
typeof
(
Startup
));
// Web
_
.
AssemblyContainingType
(
typeof
(
BaseEntity
));
// Core
_
.
Assembly
(
"CleanArchitecture.Infrastructure"
);
// Infrastructure
_
.
AssembliesAndExecutablesFromApplicationBaseDirectory
();
//_.AssemblyContainingType(typeof(Startup)); // Web
//_.AssemblyContainingType(typeof(BaseEntity)); // Core
//_.Assembly("CleanArchitecture.Infrastructure"); // Infrastructure
_
.
WithDefaultConventions
();
_
.
ConnectImplementationsToTypesClosing
(
typeof
(
IHandle
<>));
_
.
LookForRegistries
();
});
// TODO: Add Registry Classes to eliminate reference to Infrastructure
// TODO: Move to Infrastucture Registry
config
.
For
(
typeof
(
IRepository
<>)).
Add
(
typeof
(
EfRepository
<>));
//Populate the container using the service collection
config
.
Populate
(
services
);
...
...
@@ -59,7 +57,8 @@ namespace CleanArchitecture.Web
public
void
ConfigureTesting
(
IApplicationBuilder
app
,
IHostingEnvironment
env
,
ILoggerFactory
loggerFactory
)
ILoggerFactory
loggerFactory
,
ISeedData
seedData
)
{
this
.
Configure
(
app
,
env
,
loggerFactory
);
SeedData
.
PopulateTestData
(
app
.
ApplicationServices
.
GetService
<
AppDbContext
>());
...
...
tests/CleanArchitecture.Tests/Integration/Data/EfRepositoryShould.cs
View file @
5f0182a0
...
...
@@ -26,7 +26,7 @@ namespace CleanArchitecture.Tests.Integration.Data
// Create a new options instance telling the context to use an
// InMemory database and the new service provider.
var
builder
=
new
DbContextOptionsBuilder
<
AppDbContext
>();
builder
.
UseInMemoryDatabase
()
builder
.
UseInMemoryDatabase
(
Guid
.
NewGuid
().
ToString
()
)
.
UseInternalServiceProvider
(
serviceProvider
);
return
builder
.
Options
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment