Activities of "richard.harrison@brightserve.com"

  • ABP Framework version: v8.1.3 / 8.2.2
  • UI Type: MAUI
  • Database System: EF Core SQL Server
  • Exception message and full stack trace:n/a
  • Steps to reproduce the issue:Start release mode app on iOS

Our application crashes on the splash screen on iOS when running in release mode. The same code works fine in debug. We've tried to match the debug/release settings in the project and it still crashes. We haven't managed to get a stack trace or any indication of what the error is.

The app runs fine in DEBUG. We've tried using all of the code that is #if DEBUG

Starting with a clean ABP.IO MAUI application built with either 8.1.3 or 8.2.2 shows the same problem.

We've tried the solution in https://abp.io/support/questions/5019/72-and-71-Maui-Android-crashes-in-Release-mode-but-works-in-Debug and we still get a crash.

App also crashes when installed via testflight. We have to use dotnet command line to build the testflight app.

I've tried creating a clean MAUI app using Visual Studio (mac) and it works until I include the ABP projects and assemblies;

We've been trying to fix this since 22/8 and are in desperate need of guidance - or how to find out what the problem actually is.

  • ABP Framework version: v8.1.3 or 8.2.2
  • UI Type: MAUI
  • Database System: EF Core SQL Server
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes/no
  • Steps to reproduce the issue:
  • Visual Studio 2022
  • .NET SDK 8.0.401
  • Create new project using ABP SUITE. Run app in Release on Android emulator or Android Device; splash screen displays and app hangs; logcat shows no activity

I've tried this with both the old ABP SUITE (web based) and the new ABP suite beta app.

The requirement is that I have an entity called RateCard that is used to define pricing for a range of services. To do this the rate card has a collection of Rates (RateCardRate). Each of these has a Value for the base rate together with a set of entities (called ValueModifiers) that provide a different rate when a set of criteria are fulfilled.

I used the builder and the only way that I could find to have a entity that contains a collection of entities is with the many to many navigation property. This provides a design that is reasonably elegant; although for my purposes the linking table isn't strictly necessary because there will not be any shared data (i.e each ValueModifier is unique). However I am happy to go this way.

I can populate the data quite nicely; creating a RateCard and then creating ValueModifiers that I insert and add to the rate card.

What I am struggling with is what is the right way to navigate these properties.

What I want to do is to load a rate card which has a collection of RateCardRates and each RateCardRate has a collection of ValueModifiers that I can iterate.

What I have to do to make this work is the following (the whole test is included for clarity) - but these seems a little inelegant to have to iterate and then call the GetWithNavigationProperties; normally I'd like to be able to do all of this within a LINQ .Select statement

    public async Task ImportAsync()
    {
        var rateCardMatch = await _rateCardRepository.FindAsync(c => c.RateCardName == "Wessex Fleet");
        var rateCard = await _rateCardRepository.GetAsync(rateCardMatch.Id);
        rateCard.ShouldNotBeNull();
        var rates = await _rateCardRateRepository.GetListAsync(c => c.RateCardId == rateCard.Id);
        rates.ShouldNotBeEmpty();
        foreach (var rate in rates)
        {
            rate.ShouldNotBeNull();
            rate.ValueModifiers.ShouldNotBeNull();

            var rateDetails = await _rateCardRateRepository.GetWithNavigationPropertiesAsync(rate.Id);
            rateDetails.ShouldNotBeNull();
            rateDetails.ValueModifiers.ShouldNotBeNull();
            rateDetails.ValueModifiers.ShouldNotBeEmpty();
            foreach (var modifier in rateDetails.ValueModifiers)
            {
                var modifierDetails = await _valueModifierRepository.GetWithNavigationPropertiesAsync(modifier.Id);
                modifierDetails.ShouldNotBeNull();

                modifierDetails.Criteria.ShouldNotBeNull();
                modifierDetails.Criteria.ShouldNotBeEmpty();
            }
        }
    }

My questions are

  • am I doing the right thing
  • is there a better way of doing this
  • how can I do this using LINQ
Showing 1 to 3 of 3 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 20, 2024, 05:21