What is the best way to implement sequential implementation in async mode using unity dependency injection. If I call one method to create order, it should create it in two different implementations.
My Controller:
public class OrderController : BaseController
{
private IOrderRepository orderService;
public OrderController (IOrderRepository service)
{
this.orderService = service;
}
public ActionResult Create (OrderOL obj)
{
// here I want this to do two implementations
// first on OrderRepositorySQL
// and then after success response,
// it should implement in OrderRepositoryMongo as async method
orderService.Create(obj)
return view();
}
}
My Interface:
public interface IOrderRepository {
int Create (OrderOL obj);
}
My Implementing class 1
public class OrderRepositorySQL : IOrderRepository
{
public int Create (OrderOL obj)
{
// logic to Create order in Data store 1
}
}
My Implementing class 2
public class OrderRepositoryMongo : IOrderRepository
{
public int Create (OrderOL obj)
{
// logic to Create order in Data store 2
}
}
Global.asax AppStart event using ASP.NET MVC Unity
container.RegisterType<IOrderRepository, OrderRepositorySQL>();
container.RegisterType<IOrderRepository, OrderRepositoryMongo>();
Application Details
- C#.NET 4.5
- ASP.NET MVC 5
- Unity 3.0