From bac111654d42080fc21b7d3e4886a429caec587b Mon Sep 17 00:00:00 2001
From: Agustin Ruiz Diaz <agustin.ruiz.diaz@fing.edu.uy>
Date: Sun, 19 Sep 2021 17:29:16 -0300
Subject: [PATCH] Language change (except enum's String)

---
 src/DTOs/AdultPALDTO.ts                  | 12 ++---
 src/DTOs/AgeGroupDTO.ts                  |  8 +--
 src/DTOs/AgeGroupJSON.ts                 |  8 +--
 src/DTOs/CalculatorResponseDTO.ts        |  4 +-
 src/DTOs/EnergeticRequirementDTO.ts      |  6 +--
 src/DTOs/ExtraDataDTO.ts                 |  6 +--
 src/DTOs/GroupEnergeticRequirementDTO.ts |  6 +--
 src/DTOs/IndividualMaternityDTO.ts       |  5 +-
 src/DTOs/MinorPALDTO.ts                  |  6 +--
 src/DTOs/PopulationMaternityDTO.ts       |  4 +-
 src/Enum/ParameterType.ts                |  8 +--
 src/Enum/Sex.ts                          |  4 +-
 src/Models/Parameter.ts                  |  7 ++-
 src/Services/CalculatorService.ts        |  6 +--
 src/Services/ERCalculator.ts             | 64 ++++++++++++------------
 src/Services/ParserService.ts            | 18 +++----
 16 files changed, 88 insertions(+), 84 deletions(-)

diff --git a/src/DTOs/AdultPALDTO.ts b/src/DTOs/AdultPALDTO.ts
index 2395933..ed5a73c 100644
--- a/src/DTOs/AdultPALDTO.ts
+++ b/src/DTOs/AdultPALDTO.ts
@@ -1,10 +1,10 @@
 type AdultPAL = {
-  porcentajeUrbano: number;
-  NAFActivosUrbano: number;
-  NAFLivianaUrbano: number;
-  porcentajeRural: number;
-  NAFActivosRural: number;
-  NAFLivianaRural: number;
+  urbanPercentage: number;
+  activeUrbanPAL: number;
+  lowUrbanPAL: number;
+  ruralPercentage: number;
+  activeRuralPAL: number;
+  lowRuralPAL: number;
 };
 
 export default AdultPAL;
diff --git a/src/DTOs/AgeGroupDTO.ts b/src/DTOs/AgeGroupDTO.ts
index 5acf22c..b7d9768 100644
--- a/src/DTOs/AgeGroupDTO.ts
+++ b/src/DTOs/AgeGroupDTO.ts
@@ -2,10 +2,10 @@ import AgeBracket from '../Enum/AgeBracket';
 import Sex from '../Enum/Sex';
 
 type AgeGroup = {
-  edad: AgeBracket;
-  sexo: Sex;
-  pesoMediano: number;
-  cantidad: number;
+  age: AgeBracket;
+  sex: Sex;
+  medianWeight: number;
+  population: number;
 };
 
 export default AgeGroup;
diff --git a/src/DTOs/AgeGroupJSON.ts b/src/DTOs/AgeGroupJSON.ts
index c8a111c..0a795b4 100644
--- a/src/DTOs/AgeGroupJSON.ts
+++ b/src/DTOs/AgeGroupJSON.ts
@@ -1,8 +1,8 @@
 type AgeGroupJSON = {
-  edad: string;
-  sexo: string;
-  pesoMediano: string;
-  cantidad: string;
+  age: string;
+  sex: string;
+  medianWeight: string;
+  population: string;
 };
 
 export default AgeGroupJSON;
diff --git a/src/DTOs/CalculatorResponseDTO.ts b/src/DTOs/CalculatorResponseDTO.ts
index c4195f7..dc7df45 100644
--- a/src/DTOs/CalculatorResponseDTO.ts
+++ b/src/DTOs/CalculatorResponseDTO.ts
@@ -2,8 +2,8 @@ import EnergeticRequirement from './EnergeticRequirementDTO';
 import GroupEnergeticRequirement from './GroupEnergeticRequirementDTO';
 
 type CalculatorResponse = {
-  requerimientosPorGrupo: GroupEnergeticRequirement[];
-  requerimientoTotal: EnergeticRequirement;
+  groupsRequirements: GroupEnergeticRequirement[];
+  totalRequirement: EnergeticRequirement;
 };
 
 export default CalculatorResponse;
diff --git a/src/DTOs/EnergeticRequirementDTO.ts b/src/DTOs/EnergeticRequirementDTO.ts
index ef11f41..c808a90 100644
--- a/src/DTOs/EnergeticRequirementDTO.ts
+++ b/src/DTOs/EnergeticRequirementDTO.ts
@@ -1,7 +1,7 @@
 type EnergeticRequirement = {
-  requerimientoEnergeticoPerCapita: number;
-  requerimientoEnergeticoTotal: number;
-  poblacionTotal: number;
+  perCapita: number;
+  total: number;
+  totalPopulation: number;
 };
 
 export default EnergeticRequirement;
diff --git a/src/DTOs/ExtraDataDTO.ts b/src/DTOs/ExtraDataDTO.ts
index c78835d..0964397 100644
--- a/src/DTOs/ExtraDataDTO.ts
+++ b/src/DTOs/ExtraDataDTO.ts
@@ -4,9 +4,9 @@ import MinorPAL from './MinorPALDTO';
 import PopulationMaternity from './PopulationMaternityDTO';
 
 type ExtraData = {
-  prevalenciaAFMenores: MinorPAL | undefined;
-  prevalenciaAFAdultos: AdultPAL | undefined;
-  datosEmbarazoLactancia: IndividualMaternity | PopulationMaternity | undefined;
+  minorPAL: MinorPAL | undefined;
+  adultPAL: AdultPAL | undefined;
+  maternity: IndividualMaternity | PopulationMaternity | undefined;
 };
 
 export default ExtraData;
diff --git a/src/DTOs/GroupEnergeticRequirementDTO.ts b/src/DTOs/GroupEnergeticRequirementDTO.ts
index f014842..391a86a 100644
--- a/src/DTOs/GroupEnergeticRequirementDTO.ts
+++ b/src/DTOs/GroupEnergeticRequirementDTO.ts
@@ -1,9 +1,9 @@
 import AgeGroupJSON from './AgeGroupJSON';
 
 type GroupEnergeticRequirement = {
-  grupoEtario: AgeGroupJSON;
-  requerimientoEnergeticoPerCapita: number;
-  requerimientoEnergeticoTotal: number;
+  group: AgeGroupJSON;
+  perCapita: number;
+  total: number;
 };
 
 export default GroupEnergeticRequirement;
diff --git a/src/DTOs/IndividualMaternityDTO.ts b/src/DTOs/IndividualMaternityDTO.ts
index d6a07a6..6d35f66 100644
--- a/src/DTOs/IndividualMaternityDTO.ts
+++ b/src/DTOs/IndividualMaternityDTO.ts
@@ -1,7 +1,6 @@
 type IndividualMaternity = {
-  mujeresEmbarazadas: number;
-  mujeresLactando: number;
-  mujeresEmbarazadasLactando: number;
+  pregnants: number;
+  lactating: number;
 };
 
 export default IndividualMaternity;
diff --git a/src/DTOs/MinorPALDTO.ts b/src/DTOs/MinorPALDTO.ts
index dfb3ff8..9633fca 100644
--- a/src/DTOs/MinorPALDTO.ts
+++ b/src/DTOs/MinorPALDTO.ts
@@ -1,7 +1,7 @@
 type MinorPAL = {
-  NAFLiviano: number;
-  NAFModerado: number;
-  NAFIntenso: number;
+  lowPalPrevalence: number;
+  moderatePALPrevalence: number;
+  intensePALPrevalence: number;
 };
 
 export default MinorPAL;
diff --git a/src/DTOs/PopulationMaternityDTO.ts b/src/DTOs/PopulationMaternityDTO.ts
index 8345efe..cf112bf 100644
--- a/src/DTOs/PopulationMaternityDTO.ts
+++ b/src/DTOs/PopulationMaternityDTO.ts
@@ -1,6 +1,6 @@
 type PopulationMaternity = {
-  tasaNatalidadPais: number;
-  poblacionPais: number;
+  countryBirthRate: number;
+  countryPpulation: number;
 };
 
 export default PopulationMaternity;
diff --git a/src/Enum/ParameterType.ts b/src/Enum/ParameterType.ts
index f2ce042..519746e 100644
--- a/src/Enum/ParameterType.ts
+++ b/src/Enum/ParameterType.ts
@@ -1,8 +1,8 @@
 enum ParameterType {
-  NAF = 'NAF',
-  PesoPorDefecto = 'Peso por defecto',
-  EmbarazoYLactancia = 'Embarazo y lactancia',
-  ConstanteDeEcuacion = 'Constante de ecuacion'
+  PAL = 'NAF',
+  DefaultWeight = 'Peso por defecto',
+  Maternity = 'Embarazo y lactancia',
+  EquationConstant = 'Constante de ecuacion'
 }
 
 export default ParameterType;
diff --git a/src/Enum/Sex.ts b/src/Enum/Sex.ts
index 83d5304..4c388f0 100644
--- a/src/Enum/Sex.ts
+++ b/src/Enum/Sex.ts
@@ -1,6 +1,6 @@
 enum Sex {
-  Masculino = 'Masculino',
-  Femenino = 'Femenino',
+  Male = 'Masculino',
+  Female = 'Femenino',
 }
 
 export default Sex;
diff --git a/src/Models/Parameter.ts b/src/Models/Parameter.ts
index 35b1306..ae2b4ae 100644
--- a/src/Models/Parameter.ts
+++ b/src/Models/Parameter.ts
@@ -1,11 +1,16 @@
+import ParameterType from '../Enum/ParameterType';
+
 class Parameter {
   name: string;
 
   value: number;
 
-  constructor(name: string, value: number) {
+  parameterType: ParameterType;
+
+  constructor(name: string, value: number, parameterType: ParameterType) {
     this.name = name;
     this.value = value;
+    this.parameterType = parameterType;
   }
 }
 
diff --git a/src/Services/CalculatorService.ts b/src/Services/CalculatorService.ts
index 66c82ce..a5a838b 100644
--- a/src/Services/CalculatorService.ts
+++ b/src/Services/CalculatorService.ts
@@ -8,13 +8,13 @@ import extraData from '../DTOs/ExtraDataDTO';
 
 // eslint-disable-next-line max-len
 const calculateEnergeticRequirement = (groups: AgeGroupJSON[], data: extraData): CalculatorResponse => {
-  const parametros = new Map<number[], AgeGroup>();
+  const parameters = new Map<number[], AgeGroup>();
   const ageGroups = ParserService.parseGroups(groups);
   ageGroups.forEach((group: AgeGroup) => {
-    parametros.set(ParameterService.getEquationValues(group.edad, group.sexo), group);
+    parameters.set(ParameterService.getEquationValues(group.age, group.sex), group);
   });
 
-  const res: CalculatorResponse = ERCalculator.calculateER(parametros, data);
+  const res: CalculatorResponse = ERCalculator.calculateER(parameters, data);
 
   return res;
 };
diff --git a/src/Services/ERCalculator.ts b/src/Services/ERCalculator.ts
index 037caff..1d5f3cc 100644
--- a/src/Services/ERCalculator.ts
+++ b/src/Services/ERCalculator.ts
@@ -3,32 +3,32 @@ import EnergeticRequirement from '../DTOs/EnergeticRequirementDTO';
 import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
 import GroupEnergeticRequirement from '../DTOs/GroupEnergeticRequirementDTO';
 import extraData from '../DTOs/ExtraDataDTO';
-import prevalenciaAFMenores from '../DTOs/MinorPALDTO';
+import MinorPALDTO from '../DTOs/MinorPALDTO';
 import ParserService from './ParserService';
 import AgeBracket from '../Enum/AgeBracket';
 
-const calculateGET = (group: AgeGroup, params: number[], preval: prevalenciaAFMenores): number => {
-  const getModerado: number = params[0]
-  + (params[1] * group.pesoMediano)
-  - params[2] * (group.pesoMediano * group.pesoMediano);
+const calculateGET = (group: AgeGroup, params: number[], preval: MinorPALDTO): number => {
+  const getModerate: number = params[0]
+  + (params[1] * group.medianWeight)
+  - params[2] * (group.medianWeight * group.medianWeight);
 
-  const getLiviano: number = getModerado - (getModerado * params[4]) / 100;
-  const getIntenso: number = getModerado + (getModerado * params[5]) / 100;
+  const getLow: number = getModerate - (getModerate * params[4]) / 100;
+  const getIntense: number = getModerate + (getModerate * params[5]) / 100;
 
-  const ret: number = (getLiviano * preval.NAFLiviano) / 100
-  + (getModerado * preval.NAFModerado) / 100
-  + (getIntenso * preval.NAFIntenso) / 100;
+  const ret: number = (getLow * preval.lowPalPrevalence) / 100
+  + (getModerate * preval.moderatePALPrevalence) / 100
+  + (getIntense * preval.intensePALPrevalence) / 100;
 
   return ret;
 };
 
 const calculateLessThanAYear = (group: AgeGroup, params: number[]): GroupEnergeticRequirement => {
-  const requirement = params[0] + (params[1] * group.pesoMediano) + params[2];
+  const requirement = params[0] + (params[1] * group.medianWeight) + params[2];
 
   const groupRequirement: GroupEnergeticRequirement = {
-    grupoEtario: ParserService.unparseGroup(group),
-    requerimientoEnergeticoPerCapita: requirement,
-    requerimientoEnergeticoTotal: requirement * group.cantidad,
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
   };
 
   return groupRequirement;
@@ -36,14 +36,14 @@ const calculateLessThanAYear = (group: AgeGroup, params: number[]): GroupEnerget
 
 const calculateOneToFiveYears = (group: AgeGroup, params: number[]): GroupEnergeticRequirement => {
   const requirement = params[0]
-  + (params[1] * group.pesoMediano)
-  + (params[2] * (group.pesoMediano ** 2))
+  + (params[1] * group.medianWeight)
+  + (params[2] * (group.medianWeight ** 2))
   + params[3];
 
   const groupRequirement: GroupEnergeticRequirement = {
-    grupoEtario: ParserService.unparseGroup(group),
-    requerimientoEnergeticoPerCapita: requirement,
-    requerimientoEnergeticoTotal: requirement * group.cantidad,
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
   };
 
   return groupRequirement;
@@ -52,18 +52,18 @@ const calculateOneToFiveYears = (group: AgeGroup, params: number[]): GroupEnerge
 // eslint-disable-next-line max-len
 const calculateSixToSeventeenYears = (group: AgeGroup, params: number[], data: extraData): GroupEnergeticRequirement => {
   let get: number;
-  if (typeof (data.prevalenciaAFMenores) === 'undefined') {
+  if (typeof (data.minorPAL) === 'undefined') {
     throw new Error('Data missing');
   } else {
-    get = calculateGET(group, params, data.prevalenciaAFMenores);
+    get = calculateGET(group, params, data.minorPAL);
   }
 
   const requirement = get + params[3];
 
   const groupRequirement: GroupEnergeticRequirement = {
-    grupoEtario: ParserService.unparseGroup(group),
-    requerimientoEnergeticoPerCapita: requirement,
-    requerimientoEnergeticoTotal: requirement * group.cantidad,
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
   };
 
   return groupRequirement;
@@ -77,9 +77,9 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>, data: extraData):
   const requirements: GroupEnergeticRequirement[] = [];
 
   groupParameters.forEach((group: AgeGroup, params: number[]) => {
-    totalOfPeople += group.cantidad;
+    totalOfPeople += group.population;
     let groupRequirement: GroupEnergeticRequirement;
-    switch (group.edad) {
+    switch (group.age) {
       case AgeBracket.m0:
       case AgeBracket.m1:
       case AgeBracket.m2:
@@ -122,19 +122,19 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>, data: extraData):
         throw new Error('Parsing error, attribute edad does not respect format');
       }
     }
-    totalRequirement += groupRequirement.requerimientoEnergeticoTotal;
+    totalRequirement += groupRequirement.total;
     requirements.push(groupRequirement);
   });
 
   const totalER: EnergeticRequirement = {
-    requerimientoEnergeticoPerCapita: totalRequirement / totalOfPeople,
-    requerimientoEnergeticoTotal: totalRequirement,
-    poblacionTotal: totalOfPeople,
+    perCapita: totalRequirement / totalOfPeople,
+    total: totalRequirement,
+    totalPopulation: totalOfPeople,
   };
 
   const result: CalculatorResponse = {
-    requerimientosPorGrupo: requirements,
-    requerimientoTotal: totalER,
+    groupsRequirements: requirements,
+    totalRequirement: totalER,
   };
 
   return result;
diff --git a/src/Services/ParserService.ts b/src/Services/ParserService.ts
index b9aedc9..1da2a27 100644
--- a/src/Services/ParserService.ts
+++ b/src/Services/ParserService.ts
@@ -161,16 +161,16 @@ import Sex from '../Enum/Sex';
 
 const parseGroups = (groups: AgeGroupJSON[]): AgeGroup[] => {
   const retGroups: AgeGroup[] = [];
-  groups.forEach((obj: AgeGroupJSON) => {
+  groups.forEach((ageGroup: AgeGroupJSON) => {
     // if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') {
     //  console.log('Estas haciendo cualquiera flaco');
     //  throw new Error('Parsing error, attributes do not respect format');
     // }
     const group: AgeGroup = {
-      edad: obj.edad as AgeBracket,
-      sexo: obj.sexo as Sex,
-      pesoMediano: parseFloat(obj.pesoMediano),
-      cantidad: parseFloat(obj.cantidad),
+      age: ageGroup.age as AgeBracket,
+      sex: ageGroup.sex as Sex,
+      medianWeight: parseFloat(ageGroup.medianWeight),
+      population: parseFloat(ageGroup.population),
     };
     retGroups.push(group);
   });
@@ -179,10 +179,10 @@ const parseGroups = (groups: AgeGroupJSON[]): AgeGroup[] => {
 
 const unparseGroup = (group: AgeGroup): AgeGroupJSON => {
   const retGroup: AgeGroupJSON = {
-    edad: group.edad as string,
-    sexo: group.sexo as string,
-    pesoMediano: String(group.pesoMediano),
-    cantidad: String(group.cantidad),
+    age: group.age as string,
+    sex: group.sex as string,
+    medianWeight: String(group.medianWeight),
+    population: String(group.population),
   };
   return retGroup;
 };
-- 
GitLab