Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
9f0a7e9c1b
|
|||
eaabf522ee
|
|||
193142d6ec
|
|||
e644150be1
|
|||
fe0597376f
|
|||
05db934464
|
|||
3a713c929d
|
@ -1 +1 @@
|
|||||||
export const serviceBaseUrl = "http://localhost:5000";
|
export const serviceBaseUrl = "http://172.16.10.29:5000";
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
table {
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
@ -1,9 +1,36 @@
|
|||||||
<section class="mat-typography">
|
<section class="mat-typography">
|
||||||
<h2>Meine Mieter</h2>
|
|
||||||
<ul>
|
|
||||||
<li *ngFor="let mieter of mieters"
|
<mat-card class="defaultCard">
|
||||||
routerLink="/mieter/{{mieter.id}}">
|
<mat-card-header>
|
||||||
<span>{{mieter.nachname}}, {{mieter.vorname}} ({{mieter.saldo}})</span>
|
<mat-card-title>
|
||||||
</li>
|
Meine Mieter
|
||||||
</ul>
|
</mat-card-title>
|
||||||
|
</mat-card-header>
|
||||||
|
<mat-card-content>
|
||||||
|
<div>
|
||||||
|
<table mat-table [dataSource]="dataSource" #zftable>
|
||||||
|
<ng-container matColumnDef="nachname">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Nachname</th>
|
||||||
|
<td mat-cell *matCellDef="let element" routerLink="/mieter/{{element.id}}">
|
||||||
|
{{element.nachname}}
|
||||||
|
</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="vorname">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Vorname</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.vorname}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="saldo">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Saldo</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.saldo}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||||
|
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
@ -3,6 +3,11 @@ import { Component, OnInit } from '@angular/core';
|
|||||||
import { Mieter } from '../mieter';
|
import { Mieter } from '../mieter';
|
||||||
import { MieterService } from '../mieter.service';
|
import { MieterService } from '../mieter.service';
|
||||||
import { MessageService } from '../message.service';
|
import { MessageService } from '../message.service';
|
||||||
|
import { ZahlungForderungService} from '../zahlung-forderung.service'
|
||||||
|
|
||||||
|
import { Saldo } from '../zahlung-forderung'
|
||||||
|
|
||||||
|
import { MatTableDataSource } from '@angular/material/table'
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -12,21 +17,48 @@ import { MessageService } from '../message.service';
|
|||||||
})
|
})
|
||||||
export class MietersComponent implements OnInit {
|
export class MietersComponent implements OnInit {
|
||||||
|
|
||||||
mieters: Mieter[];
|
mieters: Mieter[]
|
||||||
|
year: string
|
||||||
|
selectedMieter : Mieter
|
||||||
|
|
||||||
selectedMieter : Mieter;
|
displayedColumns: string[] = ["nachname", "vorname", "saldo"]
|
||||||
|
dataSource: MatTableDataSource<Mieter>
|
||||||
|
|
||||||
constructor(private mieterService: MieterService, private messageService: MessageService) { }
|
|
||||||
|
constructor(
|
||||||
|
private mieterService: MieterService,
|
||||||
|
private zahlungForderungService: ZahlungForderungService,
|
||||||
|
private messageService: MessageService) {
|
||||||
|
}
|
||||||
|
|
||||||
async getMieters() {
|
async getMieters() {
|
||||||
try {
|
try {
|
||||||
this.mieters = await this.mieterService.getMieters();
|
this.mieters = await this.mieterService.getMieters();
|
||||||
|
this.mieters.sort((a, b) => (a.nachname < b.nachname ? -1 : 1))
|
||||||
|
this.messageService.add("Mieters loaded")
|
||||||
|
this.loadSaldos();
|
||||||
|
this.messageService.add("Saldos loaded")
|
||||||
|
|
||||||
|
this.dataSource = new MatTableDataSource<Mieter>(this.mieters)
|
||||||
|
} catch (err) {
|
||||||
|
this.messageService.add(JSON.stringify(err, undefined, 4))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async loadSaldos() {
|
||||||
|
try {
|
||||||
|
this.mieters.forEach(async (m:Mieter) => {
|
||||||
|
this.messageService.add(`Loading saldo for mieter ${m.id}`)
|
||||||
|
let saldo: Saldo = await this.zahlungForderungService.getSaldoByMieterAndYear(m.id, +this.year)
|
||||||
|
m.saldo = saldo.saldo
|
||||||
|
})
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.messageService.add(JSON.stringify(err, undefined, 4))
|
this.messageService.add(JSON.stringify(err, undefined, 4))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
this.year = new Date().getFullYear().toString()
|
||||||
this.getMieters();
|
this.getMieters();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user