Activities of "IbrahimSarigoz"

Hello;

I have two projects: ModuleA and DemoCenterApp. DemoCenterApp can use ModuleA.

ModuleA contains an entity named Iletisim. DemoCenterApp contains an entity named Musteri.

The databases of both projects are different.

In DemoCenterAppDbContext, I used [ReplaceDbContext(typeof(IModuleADbContext))] and added:

public DbSet<Iletisim> Iletisims { get; set; }

My problem is that I want to perform a single LINQ query in EfCoreMusteriRepository that includes Iletisim.

However, I am getting the following error:

Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance. System.InvalidOperationException: Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance.

I followed the method described in this YouTube video. As mentioned there, isn't using ReplaceDbContext sufficient?

  • ABP Framework version: v8.2.2
  • UI Type: Angular / MVC
  • Database System: EF Core (Oracle)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

Leptonx was upgraded. While updating via the suite, I noticed that some things were missing. When I fixed them myself, my project worked.

We were using ABP version 8.1.3 it works fine and wanted to update the project. After updating to ABP 8.2.2, menu items disappeared. We tried redirection via the URL, but it redirects to the authorization url and then back to the home screen. We have completed our update based on the guide (https://abp.io/docs/latest/release-info/migration-guides/abp-8-2). The authorization project and Swagger are working, but there is an issue with the web application. Even though we logged in with the admin account, it appears this way. We have checked the database, and the seed data seems to have been created successfully.

  • ABP Framework version: v8.2.2
  • UI Type: MVC
  • Database System: EF Core (Oracle)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes seperated
Answer

I found my mistake. 'UrunYonetimiFeatures.Enable' and 'MusteriYonetimiFeatures.Enable' have the same string value, which is causing the error.

Answer
using MerkezYonetim.Localization;
using MusteriYonetimi.Features;
using UrunYonetimi.Features;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;

namespace MerkezYonetim.Features
{
    public class MyFeatureDefinitionProvider : FeatureDefinitionProvider
    {

        public override void Define(IFeatureDefinitionContext context)
        {
            var urunYonetimiGroup = context.AddGroup("UrunYonetimi", L("UrunYonetimi"));

            urunYonetimiGroup.AddFeature(
                UrunYonetimiFeatures.Enable,
                defaultValue: "false",
                L("Enable"),
                valueType: new ToggleStringValueType());


            var musteriYonetimiGroup = context.AddGroup("MusteriYonetimi", L("MusteriYonetimi"));

            musteriYonetimiGroup.AddFeature(
                MusteriYonetimiFeatures.Enable,
                defaultValue: "false",
                L("Enable"),
                valueType: new ToggleStringValueType());
        }

        private static LocalizableString L(string name)
        {
            return LocalizableString.Create<MerkezYonetimResource>(name);
        }
    }
}

in one FeatureDefinitionProvider class i couldnt create 2 different group.

it says :

when i comment one of them it works fine.

Question

I have created a tiered main application and added a new module to it using the suite. My goal is to enable or disable this module for specific tenants, and I need to do this at runtime, managed by the admin from the main application. I'm having trouble finding the correct approach to achieve this. I'm torn between using features and permissions. If I use features, do I need to add a RequireFeature attribute at the beginning of each ApplicationService within the module? What is the proper way to handle this?

In my main app i created this :

public class MyFeatureDefinitionProvider : FeatureDefinitionProvider
{
    public override void Define(IFeatureDefinitionContext context)
    {
        var myGroup = context.AddGroup("MyFeatureGroup", "My feature group");
        
        myGroup.AddFeature(
                        "MyModuleFeature",
                        defaultValue: "false",
                        displayName: LocalizableString
                                         .Create<FeaturesDemoResource>("MyModuleFeature"),
                        valueType: new ToggleStringValueType()
                    );

    }
}

In my module i created this :

public class MyModule : AbpModule
{
    public override void OnApplicationInitialization(ApplicationInitializationContext context)
    {
        var featureChecker = context.ServiceProvider.GetRequiredService<IFeatureChecker>();
        
        if (!featureChecker.IsEnabledAsync("MyModuleFeature").Result)
        {
            throw new BusinessException("This tenant does not have permission to access this module.");
        }
    }
}
  • ABP Framework version: v8.1.3
  • UI Type: Angular / MVC
  • Database System: EF Core , Oracle
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes tiered

When I create a new project with ABP Suite version 8.2.0, the initial migration file and seed data do not support Oracle databases.

In previous versions, this datatype was NUMBER(1).

I changed all of the initial migration files, but this time the seed data caused problems and I couldn't resolve them.

How can I configure version 8.2.0 with Oracle?

any update ?

Thank you, I get it.

Thanks a lot for your response and help. It works now when its allowed for anonymous

in security part, i change hub.cs allowanonymous to Authorize and i am getting

I pushed my repo.

Have you had a chance to review it?

Showing 11 to 20 of 59 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 01, 2024, 05:35