Hi @maliming,
Sorry the file has this opening { , I just missed it when copying.
appconfig.production.json
{
"remoteServiceBaseUrl": "http://localhost:22770",
"appBaseUrl": "http://localhost:4230",
"localeMappings": [
{
"from": "pt-BR",
"to": "pt"
},
{
"from": "zh-CN",
"to": "zh"
},
{
"from": "he-IL",
"to": "he"
}
]
}
Thank you, It runs fine now.
I didn't notice the removal of these items
Hi @ryancyq,
Here they are :
AppSettings.json
{
"ConnectionStrings": {
"Default": "Server=localhost; Database=ImmobDb; Trusted_Connection=True;"
},
"AbpZeroLicenseCode": "xxxxxxxxxxxx"
}
AppSettings.production.json
{
"ConnectionStrings": {
"Default": "Server=10.0.75.1; Database=ImmobDb; User=xyza; Password=xxxxx;"
},
"App": {
"WebSiteRootAddress": "http://localhost:9901/",
"ClientRootAddress": "http://localhost:4200/",
"CorsOrigins": "http://localhost:9902"
}
}
Hi @maharata,
I had this error. It just means that the component (for example AssetFieldLookupTableModalComponent ) is duplicated and the linker is unable to chose one of them.
To solve my problems, I created a folder under "shared" directory where I move one copy of the duplicated components and delete others.
Hope this can you.
Happy new year
Abdourahmani
Hi @ismcagdas ,
I didn't do any manipulation. just using code generated by the RAD tool and data come from database.
Hi, I have the same problem with datepicker.
Dates come from database and are displayed well in p-table. But all are marked "invalid date" in datepicker.
But when I change the default language to "English", some are displayed but have wrong values. Years are correct. But all dates are 01/20/yyyy.
v6.0.0.0 Angular/Asp .net core RAD 1.6.3, but the component must have been genereated with previous version, 2 weeks ago
Thanks.
@alirizaadiyahsi
I finally got what you meant, applied it but it didn't help.
Hi @ismcagdas Please find the javascript code for the modal below.
Regards, Abdourahmani
import { Component, ViewChild, Injector, Output, EventEmitter } from '@angular/core';
import { ModalDirective } from 'ngx-bootstrap';
import {
PaliersServiceProxy,
CreateOrEditPalierDto,
PalierDetailsServiceProxy,
PalierDetailDto
} from '@shared/service-proxies/service-proxies';
import { AppComponentBase } from '@shared/common/app-component-base';
import { TypePalierLookupTableModalComponent } from './typePalier-lookup-table-modal.component';
import { CreateOrEditPalierDetailModalComponent } from '@app/main/remuneration/paliers/create-or-edit-palierDetail-modal.component';
import { DataTable } from 'primeng/components/datatable/datatable';
import { Paginator } from 'primeng/components/paginator/paginator';
import { LazyLoadEvent } from 'primeng/components/common/lazyloadevent';
import { FileDownloadService } from '@shared/utils/file-download.service';
@Component({
selector: 'createOrEditPalierModal',
templateUrl: './create-or-edit-palier-modal.component.html'
})
export class CreateOrEditPalierModalComponent extends AppComponentBase {
@ViewChild('createOrEditModal') modal: ModalDirective;
@ViewChild('typePalierLookupTableModal') typePalierLookupTableModal: TypePalierLookupTableModalComponent;
@ViewChild('createOrEditPalierDetailModal') createOrEditPalierDetailModal: CreateOrEditPalierDetailModalComponent;
@ViewChild('dataTable') dataTable: DataTable;
@ViewChild('paginator') paginator: Paginator;
@Output() modalSave: EventEmitter<any> = new EventEmitter<any>();
active = false;
saving = false;
advancedFiltersAreShown = false;
filterText = '';
maxTauxFilter: number;
maxTauxFilterEmpty: number;
minTauxFilter: number;
minTauxFilterEmpty: number;
palier: CreateOrEditPalierDto = new CreateOrEditPalierDto();
typePalierDescript = '';
constructor(
injector: Injector,
private _paliersServiceProxy: PaliersServiceProxy,
private _palierDetailsServiceProxy: PalierDetailsServiceProxy,
private _fileDownloadService: FileDownloadService
) {
super(injector);
}
show(palierId?: number): void {
if (!palierId) {
this.palier = new CreateOrEditPalierDto();
this.palier.id = palierId;
this.palier.orderBy = '001';
this.typePalierDescript = '';
this.active = true;
this.modal.show();
} else {
this._paliersServiceProxy.getPalierForEdit(palierId).subscribe(result => {
this.palier = result.palier;
this.typePalierDescript = result.typePalierDescript;
this.active = true;
this.modal.show();
});
}
}
savePalier(): void {
this.saving = true;
this._paliersServiceProxy
.createOrEdit(this.palier)
.finally(() => {
this.saving = false;
})
.subscribe(() => {
this.notify.info(this.l('SavedSuccessfully'));
this.close();
this.modalSave.emit(null);
});
}
openSelectTypePalierModal() {
this.typePalierLookupTableModal.id = this.palier.typePalierId;
this.typePalierLookupTableModal.displayName = this.typePalierDescript;
this.typePalierLookupTableModal.show();
}
setTypePalierIdNull() {
this.palier.typePalierId = null;
this.typePalierDescript = '';
}
getNewTypePalierId() {
this.palier.typePalierId = this.typePalierLookupTableModal.id;
this.typePalierDescript = this.typePalierLookupTableModal.displayName;
}
close(): void {
this.active = false;
this.modal.hide();
}
getPalierDetails(event?: LazyLoadEvent) {
this.createOrEditPalierDetailModal.palier = this.palier;
if (this.primengDatatableHelper.shouldResetPaging(event)) {
this.paginator.changePage(0);
return;
}
this.primengDatatableHelper.showLoadingIndicator();
this._palierDetailsServiceProxy
.getAll(
this.filterText,
this.palier.code, // filtre les elements du palier séléctionné
this.maxTauxFilter == null ? this.maxTauxFilterEmpty : this.maxTauxFilter,
this.minTauxFilter == null ? this.minTauxFilterEmpty : this.minTauxFilter,
this.primengDatatableHelper.getSorting(this.dataTable),
this.primengDatatableHelper.getSkipCount(this.paginator, event),
this.primengDatatableHelper.getMaxResultCount(this.paginator, event)
)
.subscribe(result => {
this.primengDatatableHelper.totalRecordsCount = result.totalCount;
this.primengDatatableHelper.records = result.items;
this.primengDatatableHelper.hideLoadingIndicator();
});
}
reloadPage(): void {
this.paginator.changePage(this.paginator.getPage());
}
createPalierDetail(): void {
this.createOrEditPalierDetailModal.show();
}
deletePalierDetail(palierDetail: PalierDetailDto): void {
this.message.confirm('', isConfirmed => {
if (isConfirmed) {
this._palierDetailsServiceProxy.delete(palierDetail.id).subscribe(() => {
this.reloadPage();
this.notify.success(this.l('SuccessfullyDeleted'));
});
}
});
}
exportToExcel(): void {
this._palierDetailsServiceProxy
.getPalierDetailsToExcel(
this.filterText,
this.palier.code, // filtre les elements du palier séléctionné
this.maxTauxFilter == null ? this.maxTauxFilterEmpty : this.maxTauxFilter,
this.minTauxFilter == null ? this.minTauxFilterEmpty : this.minTauxFilter
)
.subscribe(result => {
this._fileDownloadService.downloadTempFile(result);
});
}
}
Hi @alirizaadiyahsi
let me better explain my situation, using the audit logs page you mentioned.
As a response to clicking the magnifier button, I open a modal page containing a datatable. It's then that this error appears.
Best regards,
Abdourahmani
Hi @ismcagdas , SQL Server Management Studio's Query Profiler showed this query excuting successively 10s of time.
SELECT TOP(1) [u].[Id], [u].[AccessFailedCount], [u].[AuthenticationSource], [u].[ConcurrencyStamp], [u].[CreationTime], [u].[CreatorUserId], [u].[DeleterUserId], [u].[DeletionTime], [u].[EmailAddress], [u].[EmailConfirmationCode], [u].[GoogleAuthenticatorKey], [u].[IsActive], [u].[IsDeleted], [u].[IsEmailConfirmed], [u].[IsLockoutEnabled], [u].[IsPhoneNumberConfirmed], [u].[IsTwoFactorEnabled], [u].[LastLoginTime], [u].[LastModificationTime], [u].[LastModifierUserId], [u].[LockoutEndDateUtc], [u].[Name], [u].[NormalizedEmailAddress], [u].[NormalizedUserName], [u].[Password], [u].[PasswordResetCode], [u].[PhoneNumber], [u].[ProfilePictureId], [u].[SecurityStamp], [u].[ShouldChangePasswordOnNextLogin], [u].[SignInToken], [u].[SignInTokenExpireTimeUtc], [u].[Surname], [u].[TenantId], [u].[UserName]
FROM [AbpUsers] AS [u]
WHERE ((([u].[IsDeleted] = 0) OR ([u].[IsDeleted] <> @__IsSoftDeleteFilterEnabled_0)) AND (([u].[TenantId] = @__CurrentTenantId_1) OR (CASE
WHEN [u].[TenantId] = @__CurrentTenantId_2
THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
END = @__IsMayHaveTenantFilterEnabled_3))) AND ([u].[Id] = 2)
Regards, Abdourahmani