Files
mmm-projet/class/utils.tsx

54 lines
1.6 KiB
TypeScript

import { Reservation,Chantier,User, Ressources } from "./class";
export function getNbItemReservation(reservations:Reservation[]):number{
var res = 0;
reservations.forEach(reserv => {
res += reserv.quantity;
});
return res;
}
export function getReservationOfRessource(ressource:Ressources, allReservations:Reservation[]):Reservation[]{
const res:Reservation[] = [];
allReservations.forEach(reserv => {
if(reserv.ressource.name===ressource.name){
res.push(reserv);
}
});
return res;
}
export function getNbUseRessources(ressource:Ressources, allReservations:Reservation[]):number{
var res:number = 0;
getReservationOfRessource(ressource,allReservations).forEach(reserv => {
if(reserv.chantier.etat==="En cours"){
res+=reserv.quantity;
}
})
return res;
}
export function getNbUseRessourcesInChantier(ressource:Ressources,chantier: Chantier, allReservations:Reservation[]):number{
var res:number = 0;
getReservationOfRessource(ressource,allReservations).forEach(reserv => {
if(reserv.chantier.id === chantier.id && reserv.ressource.id===ressource.id){
res+=reserv.quantity;
}
})
return res;
}
export function isInChantier(ressource:Ressources, chantier: Chantier, allReservations:Reservation[]):boolean{
console.log(allReservations.length+ " --------------------------------");
const reservations:Reservation[] = getReservationOfRessource(ressource,allReservations);
var res=false;
reservations.forEach(reserv => {
console.log(reserv.chantier.id + " " + chantier.id)
if(reserv.chantier.id === chantier.id){
res=true;
}
});
return res;
}