Apologies for only replying now. The repositories is defined within the Entity Framework layer and the DTO's within the Application layer right?
Currently I have a 2nd dbContext class as per below:
using System.Data.Common;
using System.Data.Entity;
using Abp.EntityFramework;
using WebApplication.Storage;
namespace WebApplication.EntityFramework
{
public class SecondDbContext : AbpDbContext
{
public virtual IDbSet<BinaryObject> BinaryObjects { get; set; }
public SecondDbContext()
: base("Second")
{
}
public SecondDbContext(string nameOrConnectionString)
: base(nameOrConnectionString)
{
}
public SecondDbContext(DbConnection dbConnection)
: base(dbConnection, true)
{
}
}
}
Then I have added another it's equivalent base repository class as per below:
using Abp.Domain.Entities;
using Abp.EntityFramework;
using Abp.EntityFramework.Repositories;
namespace WebApplication.EntityFramework.Repositories
{
public abstract class SecondRepositoryBase<TEntity, TPrimaryKey> : EfRepositoryBase<SecondDbContext, TEntity, TPrimaryKey>
where TEntity : class, IEntity<TPrimaryKey>
{
protected SecondRepositoryBase(IDbContextProvider<SecondDbContext> dbContextProvider)
: base(dbContextProvider)
{
}
}
public abstract class SecondRepositoryBase<TEntity> : SecondRepositoryBase<TEntity, int>
where TEntity : class, IEntity<int>
{
protected SecondRepositoryBase(IDbContextProvider<SecondDbContext> dbContextProvider)
: base(dbContextProvider)
{
}
}
}
Do I create a custom repositories for the stored procedures as per your suggestion for each module that I have?
What I don't understand is in a AppService the IRepository<Entity> is in the constructor that injects the repository accordingly. I assume that this resolved correctly because of the IDbSet<Entity> within the 1st DbContext class.
How does this then work if I won't have a entity in the newly created 2nd DbContext class?
Excuse my ignorance, this is fairly new to me and I would really like to understand how everything fits together.
There is a bug on the level 4 menu.. I have corrected it now. Here is the updated code:
<div class="page-sidebar md-shadow-z-2-i navbar-collapse collapse">
<ul class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200" ng-class="{'page-sidebar-menu-closed': settings.layout.pageSidebarClosed}" ng-if="vm.menu.items.length">
<li ng-repeat="menuItem in vm.menu.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{menuItem.url}}" ng-if="!menuItem.items.length">
<i class="{{menuItem.icon}}"></i>
<span class="title">{{menuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="menuItem.items.length">
<i class="{{menuItem.icon}}"></i>
<span class="title">{{menuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="menuItem.items.length">
<li ng-repeat="childMenuItem in menuItem.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{childMenuItem.url}}" ng-if="!childMenuItem.items.length">
<i class="{{childMenuItem.icon}}"></i>
<span class="title">{{childMenuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="childMenuItem.items.length">
<i class="{{childMenuItem.icon}}"></i>
<span class="title">{{childMenuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="childMenuItem.items.length">
<li ng-repeat="childOfChildMenuItem in childMenuItem.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{childOfChildMenuItem.url}}" ng-if="!childOfChildMenuItem.items.length">
<i class="{{childOfChildMenuItem.icon}}"></i>
<span class="title">{{childOfChildMenuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="childOfChildMenuItem.items.length">
<i class="{{childOfChildMenuItem.icon}}"></i>
<span class="title">{{childOfChildMenuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="childOfChildMenuItem.items.length">
<li ui-sref-active="active" ng-repeat="childOfChildOfChildMenuItem in childOfChildMenuItem.items">
<a ui-sref="{{childOfChildOfChildMenuItem.url}}">
<span>
<i class="sub-menu-icon {{childOfChildOfChildMenuItem.icon}}"></i>{{childOfChildOfChildMenuItem.displayName}}
</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
No problem, glad to be making a contribution :D
It would appear that the only change required was as I predicted. For anybody interested I will include the code changes that I have made:
<div class="page-sidebar md-shadow-z-2-i navbar-collapse collapse">
<ul class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200" ng-class="{'page-sidebar-menu-closed': settings.layout.pageSidebarClosed}" ng-if="vm.menu.items.length">
<li ng-repeat="menuItem in vm.menu.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{menuItem.url}}" ng-if="!menuItem.items.length">
<i class="{{menuItem.icon}}"></i>
<span class="title">{{menuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="menuItem.items.length">
<i class="{{menuItem.icon}}"></i>
<span class="title">{{menuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="menuItem.items.length">
<li ng-repeat="childMenuItem in menuItem.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{childMenuItem.url}}" ng-if="!childMenuItem.items.length">
<i class="{{childMenuItem.icon}}"></i>
<span class="title">{{childMenuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="childMenuItem.items.length">
<i class="{{childMenuItem.icon}}"></i>
<span class="title">{{childMenuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="childMenuItem.items.length">
<li ng-repeat="childOfChildMenuItem in childMenuItem.items" ui-sref-active="active" ng-class="{'start':$first}">
<a ui-sref="{{childOfChildMenuItem.url}}" ng-if="!childOfChildMenuItem.items.length">
<i class="{{childOfChildMenuItem.icon}}"></i>
<span class="title">{{childOfChildMenuItem.displayName}}</span>
</a>
<a href="javascript:;" class="auto" ng-if="childOfChildMenuItem.items.length">
<i class="{{childOfChildMenuItem.icon}}"></i>
<span class="title">{{childOfChildMenuItem.displayName}}</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu" ng-if="childOfChildOfChildMenuItem.items.length">
<li ui-sref-active="active" ng-repeat="childOfChildOfChildMenuItem in childOfChildMenuItem.items">
<a ui-sref="{{childOfChildOfChildMenuItem.url}}">
<span>
<i class="sub-menu-icon {{childOfChildOfChildMenuItem.icon}}"></i>{{childOfChildOfChildMenuItem.displayName}}
</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Pardon the use of the incorrect terminology. Thank you very much for the help.