Base solution for your next web application

Activities of "slamj1"

Thanks @ismcagdas, I just simply fixed inline.

Not sure if anyone is aware, but the 12.0.1 project template fro the backend, downloaded from the ASPNETZERO portal does not have the .NET framework version update to net7.0.

It is still set to net6.0.

@ismcagdas, good stuff, cheers!

Prerequisites

  • ASPNETZERO 11.2
  • Angular
  • NET6.0

If issue related with ABP Framework

  • Abp.AspNetZero 4.1.0.0 Nuget Package

Greetings;

Judging from the commit here -> https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.AspNetCore/AspNetCore/Mvc/Auditing/HttpContextClientInfoProvider.cs I see that you were already aware that GetComputerName() is currently throwing an exception because of a null Address being passed to Dns.GetHostEntry().

For now, I've patched the code for myself. Any word on when the official NuGet will be updated?

Cheers, Sam.

Hi @mmukkara, you've closed the reader on benefitOption.BenefitOptionPlans by using ToList(), however it looks to me like the reader on benefitOption may still be open on the same command once you reach the foreach loop.

This may be causing the problem, even though you're iterating through BenefitOptionOutputDto.BenefitOptionPlans.

Thanks for the suggestions @ismcagdas. Although we have everything working, I'll have a look at https://valor-software.com/ngx-bootstrap/#/accordion

Answer

Hi @mdframe, we use the tables rowexpansion feature on the frontend. There are a couple of tricky parts on the angular side. Below is a sample client-side abridged code with the key parts:

 <p-table #dataTable
                             (onLazyLoad)="getSupplementalMaintenanceList($event)"
                             [value]="primengTableHelper.records"
                             dataKey="supplementalMaintenanceList.id"  
                             rows="{{primengTableHelper.defaultRecordsCountPerPage}}"
                             [paginator]="false"
                             [lazy]="true"
                             [scrollable]="true"
                             ScrollWidth="100%"
                             [responsive]="primengTableHelper.isResponsive"
                             [resizableColumns]="primengTableHelper.resizableColumns">
                             .
                             .
                             .
              <ng-template pTemplate="body" let-record="$implicit" let-rowData let-expanded="expanded">
                            <tr>
                                <td style="width: 3em">
                                    <div>
                                        <a href="#" [pRowToggler]="rowData">
                                            <i [ngClass]="expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'"></i>
                                        </a>
                                    </div>
                                </td>
                                .
                                .
                                .
                <ng-template pTemplate="rowexpansion" let-record let-rowData>
                            <div class="primeng-datatable-container">
                                <td style="width: 3em"></td>
                                <td colspan="6">
                                    <span>
                                        <supplementalMaintenanceListDetail></supplementalMaintenanceListDetail>
                                    </span>
                                </td>
                            </div>
                        </ng-template>
     </p-table>    
     

And the .ts file for the parent will have the child defined as a component:

        @ViewChild('supplementalMaintenanceListDetail') supplementalMaintenanceListDetail:              SupplementalMaintenanceListDetailComponent;
     

The important parts are the dataKey="supplementalMaintenanceList.id" and the <ng-template pTemplate="rowexpansion" let-record let-rowData>. The dataKey will get passed to the child component when you expand the row.

Notice the <supplementalMaintenanceListDetail></supplementalMaintenanceListDetail>? That is the child table bundled as an angular component. It receives the parent id.

That's about all you have to do on the client side - fairly basic.

As far as the server side, you don't need to do anything special are far as the basic CRUD operations are concerned. The parent will use it's service, while the child will use it's own. The child will of course need to have the parent ID filled in on it's entity member in order to perform the CRUD operations.

Hope that helps. Sam.

Let me put something together for you shortly.

Answer

Hi @klawsuc, Turbo Table is being used in ANZ currently, at least as of V 6.0. It's being used in Roles, Tenants, Users etc. p-table is TurboTable I beleive.

Hi @mdframe, I've currently implemented NServiceBus for this. It may be more than you require but NSB is a fully distributed enterprise service bus and can use MSMQ + distributed transactions. It's a dual source model, but the commercial cost (25.00 per node/month) beats most any other vendors' products for ROI.

Showing 1 to 10 of 16 entries