Commit 37261dcf authored by James Yeung's avatar James Yeung Committed by Steve Smith

move interfaces from core to shared kernel project (#92)

parent 23adf414
using CleanArchitecture.Core.Entities; using CleanArchitecture.Core.Entities;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using System.Linq; using System.Linq;
namespace CleanArchitecture.Core namespace CleanArchitecture.Core
......
using System.Threading.Tasks; using System.Threading.Tasks;
using Ardalis.GuardClauses; using Ardalis.GuardClauses;
using CleanArchitecture.Core.Events; using CleanArchitecture.Core.Events;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
namespace CleanArchitecture.Core.Services namespace CleanArchitecture.Core.Services
{ {
......
using Autofac; using Autofac;
using Autofac.Extensions.DependencyInjection; using Autofac.Extensions.DependencyInjection;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.Core;
using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Infrastructure.Data; using CleanArchitecture.Infrastructure.Data;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System; using System;
...@@ -21,9 +22,10 @@ namespace CleanArchitecture.Infrastructure ...@@ -21,9 +22,10 @@ namespace CleanArchitecture.Infrastructure
{ {
var builder = new ContainerBuilder(); var builder = new ContainerBuilder();
var coreAssembly = Assembly.GetAssembly(typeof(IRepository)); var coreAssembly = Assembly.GetAssembly(typeof(DatabasePopulator));
var infrastructureAssembly = Assembly.GetAssembly(typeof(EfRepository)); var infrastructureAssembly = Assembly.GetAssembly(typeof(EfRepository));
builder.RegisterAssemblyTypes(coreAssembly, infrastructureAssembly).AsImplementedInterfaces(); var sharedKernelAssembly = Assembly.GetAssembly(typeof(IRepository));
builder.RegisterAssemblyTypes(sharedKernelAssembly, coreAssembly, infrastructureAssembly).AsImplementedInterfaces();
setupAction?.Invoke(builder); setupAction?.Invoke(builder);
return builder.Build(); return builder.Build();
......
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
......
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Collections.Generic; using System.Collections.Generic;
......
using Autofac; using Autofac;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
using System; using System;
using System.Collections; using System.Collections;
......
using System.Threading.Tasks; using System.Threading.Tasks;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
namespace CleanArchitecture.Core.Interfaces namespace CleanArchitecture.SharedKernel.Interfaces
{ {
public interface IDomainEventDispatcher public interface IDomainEventDispatcher
{ {
......
using System.Threading.Tasks; using System.Threading.Tasks;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
namespace CleanArchitecture.Core.Interfaces namespace CleanArchitecture.SharedKernel.Interfaces
{ {
public interface IHandle<in T> where T : BaseDomainEvent public interface IHandle<in T> where T : BaseDomainEvent
{ {
......
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
using System.Collections.Generic; using System.Collections.Generic;
namespace CleanArchitecture.Core.Interfaces namespace CleanArchitecture.SharedKernel.Interfaces
{ {
public interface IRepository public interface IRepository
{ {
......
using CleanArchitecture.Core.Entities; using CleanArchitecture.Core.Entities;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Web.ApiModels; using CleanArchitecture.Web.ApiModels;
using CleanArchitecture.Web.Filters; using CleanArchitecture.Web.Filters;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
......
using CleanArchitecture.Core; using CleanArchitecture.Core;
using CleanArchitecture.Core.Entities; using CleanArchitecture.Core.Entities;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Web.ApiModels; using CleanArchitecture.Web.ApiModels;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Linq; using System.Linq;
......
using CleanArchitecture.Core.Entities; using CleanArchitecture.Core.Entities;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Collections.Generic; using System.Collections.Generic;
......
using CleanArchitecture.Core; using CleanArchitecture.Core;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.RazorPages;
namespace CleanArchitecture.Web.Pages.ToDoRazorPage namespace CleanArchitecture.Web.Pages.ToDoRazorPage
......
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Infrastructure.Data; using CleanArchitecture.Infrastructure.Data;
using CleanArchitecture.UnitTests; using CleanArchitecture.UnitTests;
using CleanArchitecture.Web; using CleanArchitecture.Web;
......
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Infrastructure.Data; using CleanArchitecture.Infrastructure.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
......
using System.Threading.Tasks; using System.Threading.Tasks;
using CleanArchitecture.Core.Interfaces; using CleanArchitecture.SharedKernel.Interfaces;
using CleanArchitecture.Core.SharedKernel; using CleanArchitecture.Core.SharedKernel;
namespace CleanArchitecture.UnitTests namespace CleanArchitecture.UnitTests
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment