Updated validation logic for start and end dates
This commit is contained in:
@@ -179,4 +179,7 @@ public class GepafinConstant {
|
|||||||
public static final String UNAUTHORIZED = "UNAUTHORIZED";
|
public static final String UNAUTHORIZED = "UNAUTHORIZED";
|
||||||
public static final String COMPANY_ID_MANDATORY = "company.id.mandatory";
|
public static final String COMPANY_ID_MANDATORY = "company.id.mandatory";
|
||||||
public static final String USER_ALREADY_CONNECTED_TO_COMPANY = "user.already.connected.to.company";
|
public static final String USER_ALREADY_CONNECTED_TO_COMPANY = "user.already.connected.to.company";
|
||||||
|
|
||||||
|
public static final String CALL_NOT_STARTED_YET = "call.not.started.yet";
|
||||||
|
public static final String CALL_ALREADY_ENDED = "call.already.ended";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.dao;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -673,6 +674,25 @@ public class CallDao {
|
|||||||
Status.NOT_FOUND,
|
Status.NOT_FOUND,
|
||||||
Translator.toLocale(GepafinConstant.CALL_NOT_PUBLISHED));
|
Translator.toLocale(GepafinConstant.CALL_NOT_PUBLISHED));
|
||||||
}
|
}
|
||||||
|
LocalDate currentDate = LocalDate.now();
|
||||||
|
LocalTime currentTime = LocalTime.now();
|
||||||
|
|
||||||
|
if (currentDate.isBefore(callEntity.getStartDate().toLocalDate()) ||
|
||||||
|
(currentDate.isEqual(callEntity.getStartDate().toLocalDate()) && currentTime.isBefore(callEntity.getStartTime()))) {
|
||||||
|
throw new CustomValidationException(
|
||||||
|
Status.BAD_REQUEST,
|
||||||
|
Translator.toLocale(GepafinConstant.CALL_NOT_STARTED_YET)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentDate.isAfter(callEntity.getEndDate().toLocalDate()) ||
|
||||||
|
(currentDate.isEqual(callEntity.getEndDate().toLocalDate()) && currentTime.isAfter(callEntity.getEndTime()))) {
|
||||||
|
throw new CustomValidationException(
|
||||||
|
Status.BAD_REQUEST,
|
||||||
|
Translator.toLocale(GepafinConstant.CALL_ALREADY_ENDED)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return callEntity;
|
return callEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -206,3 +206,6 @@ vatnumber.already.exists=VatNumber already exists.
|
|||||||
invalid.email=Invalid email.
|
invalid.email=Invalid email.
|
||||||
company.id.mandatory=Company id is mandatory.
|
company.id.mandatory=Company id is mandatory.
|
||||||
user.already.connected.to.company=The user is already connected to this company.
|
user.already.connected.to.company=The user is already connected to this company.
|
||||||
|
|
||||||
|
call.not.started.yet = The call has not started yet. Please wait until the specified start date and time.
|
||||||
|
call.already.ended = The call has already ended. You cannot submit the application after the deadline.
|
||||||
|
|||||||
@@ -199,3 +199,5 @@ vatnumber.already.exists=Il numero di partita IVA esiste gi
|
|||||||
invalid.email=Email non valida.
|
invalid.email=Email non valida.
|
||||||
company.id.mandatory=L'ID dell'azienda è obbligatorio.
|
company.id.mandatory=L'ID dell'azienda è obbligatorio.
|
||||||
user.already.connected.to.company=L'utente è già collegato a questa azienda.
|
user.already.connected.to.company=L'utente è già collegato a questa azienda.
|
||||||
|
call.not.started.yet = La chiamata non è ancora iniziata. Attendere fino alla data e all'ora di inizio specificate.
|
||||||
|
call.already.ended = La chiamata è già terminata. Non è possibile inviare l'applicazione dopo la scadenza.
|
||||||
|
|||||||
Reference in New Issue
Block a user