Compare commits
1 commit
6c431522be
...
01e2e8e47d
Author | SHA1 | Date | |
---|---|---|---|
01e2e8e47d |
8 changed files with 2 additions and 94 deletions
|
@ -5,7 +5,6 @@ import { EmployeeDetailComponent } from "./components/employee-detail/employee-d
|
||||||
import { QualifikatonBearbeitenViewComponent } from "./components/qualifikaton-bearbeiten-view/qualifikaton-bearbeiten-view.component";
|
import { QualifikatonBearbeitenViewComponent } from "./components/qualifikaton-bearbeiten-view/qualifikaton-bearbeiten-view.component";
|
||||||
import { MitarbeiterBearbeitenViewComponent } from "./components/mitarbeiter-bearbeiten-view/mitarbeiter-bearbeiten-view.component";
|
import { MitarbeiterBearbeitenViewComponent } from "./components/mitarbeiter-bearbeiten-view/mitarbeiter-bearbeiten-view.component";
|
||||||
import { AuthGuard } from "./service/auth.service";
|
import { AuthGuard } from "./service/auth.service";
|
||||||
import { MitarbeiterErstellenComponent } from "./components/mitarbeiter-erstellen/mitarbeiter-erstellen.component";
|
|
||||||
|
|
||||||
export const routes: Routes = [
|
export const routes: Routes = [
|
||||||
{
|
{
|
||||||
|
@ -17,11 +16,6 @@ export const routes: Routes = [
|
||||||
component: MitarbeiterverwaltungViewComponent,
|
component: MitarbeiterverwaltungViewComponent,
|
||||||
canActivate: [AuthGuard],
|
canActivate: [AuthGuard],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: "mitarbeitererstellen",
|
|
||||||
component: MitarbeiterErstellenComponent,
|
|
||||||
canActivate: [AuthGuard],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: "mitarbeiterbearbeiten/:id",
|
path: "mitarbeiterbearbeiten/:id",
|
||||||
component: MitarbeiterBearbeitenViewComponent,
|
component: MitarbeiterBearbeitenViewComponent,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
<app-mitarbeiter-form [(mitarbeiter)]="mitarbeiter" (mitarbeiterChange)="submitted($event)"></app-mitarbeiter-form>
|
|
|
@ -1,23 +0,0 @@
|
||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
|
|
||||||
import { MitarbeiterErstellenComponent } from './mitarbeiter-erstellen.component';
|
|
||||||
|
|
||||||
describe('MitarbeiterErstellenComponent', () => {
|
|
||||||
let component: MitarbeiterErstellenComponent;
|
|
||||||
let fixture: ComponentFixture<MitarbeiterErstellenComponent>;
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
|
||||||
await TestBed.configureTestingModule({
|
|
||||||
imports: [MitarbeiterErstellenComponent]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
|
|
||||||
fixture = TestBed.createComponent(MitarbeiterErstellenComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,43 +0,0 @@
|
||||||
import { Component } from '@angular/core';
|
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
|
||||||
import { EmployeeResponseDTO } from '../../models/mitarbeiter';
|
|
||||||
import { EmployeeService } from '../../service/employee.service';
|
|
||||||
import { MitarbeiterFormComponent } from '../mitarbeiter-form/mitarbeiter-form.component';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-mitarbeiter-erstellen',
|
|
||||||
standalone: true,
|
|
||||||
imports: [MitarbeiterFormComponent],
|
|
||||||
templateUrl: './mitarbeiter-erstellen.component.html',
|
|
||||||
styleUrl: './mitarbeiter-erstellen.component.css'
|
|
||||||
})
|
|
||||||
export class MitarbeiterErstellenComponent {
|
|
||||||
public mitarbeiter!: EmployeeResponseDTO;
|
|
||||||
|
|
||||||
constructor(private employeeService: EmployeeService, private route: ActivatedRoute, private router: Router) { }
|
|
||||||
|
|
||||||
submitted(mitarbeiter: EmployeeResponseDTO) {
|
|
||||||
this.employeeService.createEmployee(mitarbeiter);
|
|
||||||
this.returnToEmployeeOverview();
|
|
||||||
}
|
|
||||||
|
|
||||||
returnToEmployeeOverview() {
|
|
||||||
this.router.navigate(["mitarbeiter"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit(): void {
|
|
||||||
this.mitarbeiter = {
|
|
||||||
id: 0,
|
|
||||||
firstName: '',
|
|
||||||
lastName: '',
|
|
||||||
street: '',
|
|
||||||
phone: '',
|
|
||||||
skillSet: [],
|
|
||||||
postcode: '',
|
|
||||||
city: '',
|
|
||||||
}
|
|
||||||
this.employeeService.getEmployeeById(this.route.snapshot.params['id']).subscribe(employee => {
|
|
||||||
this.mitarbeiter = employee;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -20,7 +20,7 @@
|
||||||
</div>
|
</div>
|
||||||
<p class="text-body-tertiary">Search for a propertiy of an Employee. eg. First Name</p>
|
<p class="text-body-tertiary">Search for a propertiy of an Employee. eg. First Name</p>
|
||||||
</form>
|
</form>
|
||||||
<button (click)="createEmployee()" class="add-button">Add employee</button>
|
<button class="add-button">Add employee</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table class="employee-table">
|
<table class="employee-table">
|
||||||
|
|
|
@ -46,10 +46,6 @@ export class MitarbeiterverwaltungViewComponent implements OnInit {
|
||||||
this.router.navigate([`/mitarbeiterbearbeiten/${id}`]);
|
this.router.navigate([`/mitarbeiterbearbeiten/${id}`]);
|
||||||
}
|
}
|
||||||
|
|
||||||
createEmployee() {
|
|
||||||
this.router.navigate(['/mitarbeitererstellen']);
|
|
||||||
}
|
|
||||||
|
|
||||||
deleteEmployee(id: number) {
|
deleteEmployee(id: number) {
|
||||||
this.employeeService.deleteEmployee(id);
|
this.employeeService.deleteEmployee(id);
|
||||||
this.employees = this.employees.filter(employee => employee.id != id);
|
this.employees = this.employees.filter(employee => employee.id != id);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Injectable } from "@angular/core";
|
import { Injectable } from "@angular/core";
|
||||||
import { EmployeeRequestDTO, EmployeeRequestPutDTO, EmployeeResponseDTO } from "../models/mitarbeiter";
|
import { EmployeeRequestPutDTO, EmployeeResponseDTO } from "../models/mitarbeiter";
|
||||||
import { HttpClient } from "@angular/common/http";
|
import { HttpClient } from "@angular/common/http";
|
||||||
import { Observable } from "rxjs";
|
import { Observable } from "rxjs";
|
||||||
import { SkillService } from "./skill.service";
|
import { SkillService } from "./skill.service";
|
||||||
|
@ -10,17 +10,6 @@ import { SkillService } from "./skill.service";
|
||||||
export class EmployeeService {
|
export class EmployeeService {
|
||||||
constructor(private http: HttpClient) { }
|
constructor(private http: HttpClient) { }
|
||||||
|
|
||||||
responseToRequestDto(employee: EmployeeResponseDTO): EmployeeRequestDTO {
|
|
||||||
return {
|
|
||||||
firstName: employee.firstName,
|
|
||||||
lastName: employee.lastName,
|
|
||||||
street: employee.street,
|
|
||||||
postcode: employee.postcode,
|
|
||||||
city: employee.city,
|
|
||||||
phone: employee.phone,
|
|
||||||
skillSet: employee.skillSet?.map(skill => skill.id) || [],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
responseDtoToPutDto(employee: EmployeeResponseDTO): EmployeeRequestPutDTO {
|
responseDtoToPutDto(employee: EmployeeResponseDTO): EmployeeRequestPutDTO {
|
||||||
return {
|
return {
|
||||||
|
@ -34,10 +23,6 @@ export class EmployeeService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createEmployee(employee: EmployeeResponseDTO) {
|
|
||||||
this.http.post(`${SkillService.BASE_URL}/employees`, this.responseToRequestDto(employee)).subscribe();
|
|
||||||
}
|
|
||||||
|
|
||||||
updateEmployee(employee: EmployeeResponseDTO) {
|
updateEmployee(employee: EmployeeResponseDTO) {
|
||||||
this.http.put(`${SkillService.BASE_URL}/employees/${employee.id}`, this.responseDtoToPutDto(employee)).subscribe();
|
this.http.put(`${SkillService.BASE_URL}/employees/${employee.id}`, this.responseDtoToPutDto(employee)).subscribe();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue