This commit is contained in:
Daniel Appelgren
2021-11-19 10:27:51 +01:00
parent 9bb6bc55d5
commit d42001f36a
2 changed files with 56 additions and 10 deletions

View File

@@ -2,7 +2,7 @@ import { FormSelectItem } from '@af/digi-ng/_form/form-select';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { SignalRequest } from '@msfa-models/api/signal.request.model';
import { SignalRequest, SignalRequestOmfattning, SignalRequestType } from '@msfa-models/api/signal.request.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { Signal } from '@msfa-models/signal.model';
@@ -103,14 +103,50 @@ export class SignalFormComponent {
this.error$.next(null);
}
submitAndCloseConfirmDialog(genomforandeReferens: number): void {
private typeToRequest(type: string): SignalRequestType {
switch (type) {
case 'arbete':
return SignalRequestType.Work;
case 'utbildning':
return SignalRequestType.Education;
default:
return;
}
}
private omfattningToRequest(omfattning: string): SignalRequestOmfattning {
switch (omfattning) {
case 'heltid':
return SignalRequestOmfattning.Heltid;
case 'deltid':
return SignalRequestOmfattning.Deltid;
default:
return;
}
}
private _formDataToRequest(genomforandereferens: number, formData: SignalFormData): SignalRequest {
const { type, omfattning, startDate, percent } = formData;
const requestType: SignalRequestType = this.typeToRequest(type);
const requestOmfattning: SignalRequestOmfattning = this.omfattningToRequest(omfattning);
return {
genomforandereferens,
type: requestType,
omfattning: requestOmfattning,
omfattningPercent: requestOmfattning === SignalRequestOmfattning.Deltid ? percent : null,
startdatum: formatDate(startDate),
};
}
submitAndCloseConfirmDialog(genomforandereferens: number): void {
this.submitLoading$.next(true);
const { type, omfattning, startDate, percent } = this.signalFormGroup.value as Signal;
const postRequest: SignalRequest = {
genomforandeReferens: +genomforandeReferens,
typ: type,
genomforandereferens,
type,
omfattning,
omfattning_procent: omfattning === 'deltid' ? percent : null,
startdatum: formatDate(startDate),

View File

@@ -1,7 +1,17 @@
export interface SignalRequest {
genomforandeReferens: number;
typ: 'arbete' | 'utbildning';
omfattning: 'heltid' | 'deltid';
omfattning_procent: number;
startdatum: string;
export enum SignalRequestType {
Work = 'work',
Education = 'education',
}
export enum SignalRequestOmfattning {
Heltid = 'heltid',
Deltid = 'deltid',
}
export interface SignalRequest {
genomforandereferens: number;
type: SignalRequestType;
omfattning: SignalRequestOmfattning;
omfattningPercent: number;
startDate: string;
}