Base solution for your next web application

Activities of "pankajmathur"

Hi,

We are currently using MVC5.x with JQuery on .Net Framework 4.6.1 We wish to migrate our application to MVC on .Net Core 2.0 with target framework as .Net Core 2.0 by taking your latest release that is 4.5.

Could you please help me the best way to upgrade our project to .Net Core 2.0. It would be nice If you could provide some link for the documentation that could help me achieving this.

Would appreciate your response.

Regards, Mahendra

Hi, We have downloaded a project based on Version 4.5.1 however we are not able to see the changes that are done on the tenant management screen for the trial version and also for the unlimited time subscription. Can you please suggest how can we get these changes. Are these changes changes available for the .Net Framework 4.6.1?

Please see the attached file for more details.

Answer

Hi,

I am also getting the same error. What's the resolution. I already have checked my gmail credentials and all fine....

Question

Hi,

I have just downloaded the ASP.Net MVC 5.X & JQuery project with Version (4.1.0(latest version) to see the new feature such as "Subscription management & Paypal payment integration" and "Dashboard for edition, tenant & income statistics", but I can't see the changes in the Edition Page.

Attached is the Edition page that I see. Am I missing something?

Hi Everyone,

I was able to do this by below steps.

  1. Login host application.
  2. Create Tenant from there
  3. It will ask to use Host DB or create new DB
  4. Choose new DB. It will create new database for that tenant.
  5. Login application with provided configuration. No need to change DB connection string anywhere.

Thank You,

Hi, We need to support custom business functionality of each tenant using Extensibility(MEF)/Plugin. We have used Microsoft Extensibility Framework to send messages to UI and get result in business code based on Tenant.

Application is able to get AddOnDLL/Plugin but not able to access current UnitOfWorkManger or IActiveUnitOfWork in Plugin DLL.

Is there any way to get current IActiveUnitOfWork in Plugin without ABPModule?

Thank You,

As per documentation, Framework support Single Deployment - Multiple Database. Is any one implemented this or any documentation for step by step tenant creation?

I have tried to make new database per tenant but it is not creating new database. If any one has explored it, please help me out on this.

Answer

Resolved after reading suggestion from below link.

<a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2076">https://github.com/aspnetboilerplate/as ... ssues/2076</a>

Answer

I got same error when I switched on redis cache. Below is stack trace of error.

at Abp.MultiTenancy.TenantCache2.CreateTenantCacheItem(TTenant tenant) at Castle.Proxies.TenantCache2Proxy.CreateTenantCacheItem_callback(Tenant tenant) at Castle.Proxies.Invocations.TenantCache2_CreateTenantCacheItem.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.TenantCache2Proxy.CreateTenantCacheItem(Tenant tenant) at Abp.MultiTenancy.TenantCache2.<>c__DisplayClass7_0.<GetOrNull>b__0() at Abp.Runtime.Caching.TypedCacheExtensions.<>c__DisplayClass0_02.<Get>b__0(TKey k) at Abp.Runtime.Caching.CacheExtensions.<>c__DisplayClass3_02.<Get>b__0(String k) at Abp.Runtime.Caching.CacheBase.Get(String key, Func2 factory) at Abp.Runtime.Caching.CacheExtensions.Get[TKey,TValue](ICache cache, TKey key, Func2 factory) at Abp.Runtime.Caching.TypedCacheWrapper2.Get(TKey key, Func2 factory) at Abp.Runtime.Caching.TypedCacheExtensions.Get[TKey,TValue](ITypedCache2 cache, TKey key, Func1 factory) at Abp.MultiTenancy.TenantCache2.GetOrNull(Int32 tenantId) at Abp.MultiTenancy.TenantCache2.Get(Int32 tenantId) at Castle.Proxies.TenantCache2Proxy.Get_callback(Int32 tenantId) at Castle.Proxies.Invocations.TenantCache2_Get.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.TenantCache2Proxy.Get(Int32 tenantId) at Abp.Zero.EntityFramework.DbPerTenantConnectionStringResolver.GetNameOrConnectionString(DbPerTenantConnectionStringResolveArgs args) at Abp.Zero.EntityFramework.DbPerTenantConnectionStringResolver.GetNameOrConnectionString(ConnectionStringResolveArgs args) at Abp.Domain.Uow.UnitOfWorkBase.ResolveConnectionString(ConnectionStringResolveArgs args) at Abp.EntityFramework.Uow.EfUnitOfWork.GetOrCreateDbContext[TDbContext](Nullable1 multiTenancySide) at Abp.EntityFramework.Uow.UnitOfWorkExtensions.GetDbContext[TDbContext](IActiveUnitOfWork unitOfWork, Nullable1 multiTenancySide) at Abp.EntityFramework.Uow.UnitOfWorkDbContextProvider1.GetDbContext(Nullable1 multiTenancySide) at Castle.Proxies.EfRepositoryBase3Proxy_4.get_Context_callback() at Castle.Proxies.Invocations.EfRepositoryBase3_get_Context_6.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.EfRepositoryBase3Proxy_4.get_Context() at Abp.EntityFramework.Repositories.EfRepositoryBase3.get_Table() at Castle.Proxies.EfRepositoryBase3Proxy_4.get_Table_callback() at Castle.Proxies.Invocations.EfRepositoryBase3_get_Table_6.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.EfRepositoryBase3Proxy_4.get_Table() at Castle.Proxies.EfRepositoryBase3Proxy_4.GetAll_callback() at Castle.Proxies.Invocations.EfRepositoryBase3_GetAll_6.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) at Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.EfRepositoryBase3Proxy_4.GetAll() at Abp.EntityFramework.Repositories.EfRepositoryBase3.<FirstOrDefaultAsync>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Threading.InternalAsyncHelper.<AwaitTaskWithPostActionAndFinallyAndGetResult>d__51.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Authorization.Users.AbpUserStore2.<FindByNameOrEmailAsync>d__20.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Authorization.Users.AbpUserStore2.<FindByNameOrEmailAsync>d__21.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Threading.InternalAsyncHelper.<AwaitTaskWithPostActionAndFinallyAndGetResult>d__51.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Abp.Authorization.AbpLogInManager3.<LoginAsyncInternal>d__35.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Authorization.AbpLogInManager3.<LoginAsync>d__34.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Abp.Threading.InternalAsyncHelper.<AwaitTaskWithPostActionAndFinallyAndGetResult>d__51.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at CitiXsys.ManagementConsoleWeb.Web.Controllers.AccountController.

Answer

Hi,

Thanks for your reply.

One more question. How Can I get rid of Identity Column that it creates by default. I want to specify my own value in this field from service. Something like below.

public async Task CreateTaxCode(CreateTaxCodeInput input)
        {
            long abc = await _iVendRepository.GetNextPrimaryKeyValue();
            input.Id = abc; 
            var TaxCode = input.MapTo<TaxCode>();
            await _TaxCodeRepository.InsertAsync(TaxCode);
        }

Currently, due to Identity column, it discards my value that I set in the Id column.

Showing 111 to 120 of 123 entries