Skip to content

Commit

Permalink
feat: ultimo peso
Browse files Browse the repository at this point in the history
  • Loading branch information
Luciano Penafiel committed Oct 30, 2020
1 parent 8be4861 commit eb9bc1d
Show file tree
Hide file tree
Showing 5 changed files with 138 additions and 11 deletions.
18 changes: 16 additions & 2 deletions pages/agregar-consulta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {
import { Title1 } from '../components/Types/Titles/Titles';
import { useForm } from 'react-hook-form';
import TextField from '@material-ui/core/TextField';
import { addConsult, getLocalStorage } from '../services';
import { addConsult, getLocalStorage, setLocalStorage } from '../services';
import { PetContext } from '../contexts/PetContext';
import IPet from '../interfaces/pet';
import IUser from '../interfaces/user';
Expand All @@ -30,7 +30,7 @@ const AgregarConsulta = (): ReactElement => {
const [petData, setPetData] = useState<IPet>();
const [userData, setUserData] = useState<IUser>();

const { pet } = useContext(PetContext);
const { pet, changeStatePet } = useContext(PetContext);
const { register, handleSubmit, errors } = useForm();

const onSubmit = async (formData) => {
Expand All @@ -46,6 +46,20 @@ const AgregarConsulta = (): ReactElement => {
};

await addConsult({ ...data });

if (!!formData.eog.peso) {
const dataToUpdate = {
...petData,
resena: {
...petData.resena,
ultimoPeso: formData.eog.peso,
},
};

changeStatePet(formData);
await setLocalStorage('pet', dataToUpdate);
}

setIsLoading(false);

Router.push('/success-add-consult');
Expand Down
39 changes: 37 additions & 2 deletions pages/editar-consulta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import TextField from '@material-ui/core/TextField';
import IConsult from '../interfaces/consulta';
import { ConsultContext } from '../contexts/ConsultContext';
import { PetContext } from '../contexts/PetContext';
import { getLocalStorage, updateConsult } from '../services';
import { getLocalStorage, setLocalStorage, updateConsult } from '../services';
import IPet from '../interfaces/pet';
import IUser from '../interfaces/user';

Expand All @@ -34,7 +34,7 @@ const EditarConsulta = (): ReactElement => {
const [userData, setUserData] = useState<IUser>();

const { consult } = useContext(ConsultContext);
const { pet } = useContext(PetContext);
const { pet, changeStatePet } = useContext(PetContext);

const { register, handleSubmit, errors } = useForm();

Expand All @@ -48,6 +48,7 @@ const EditarConsulta = (): ReactElement => {
ownerID: userData.id,
tutorData: userData,
petName: petData.nombre,
petResena: petData.resena,
consultData: {
...formData,
},
Expand All @@ -64,6 +65,20 @@ const EditarConsulta = (): ReactElement => {
}

await updateConsult(data);

if (!!formData.eog.peso) {
const dataToUpdate = {
...petData,
resena: {
...petData.resena,
ultimoPeso: formData.eog.peso,
},
};

changeStatePet(formData);
await setLocalStorage('pet', dataToUpdate);
}

Router.push('/success-edit-consult');
setIsLoading(false);
} catch (err) {
Expand Down Expand Up @@ -167,6 +182,26 @@ const EditarConsulta = (): ReactElement => {
/>
</InputWrapper>

<InputWrapper>
<TextField
name="eog[peso]"
label="Peso"
fullWidth
InputLabelProps={{
shrink: true,
}}
InputProps={{
inputProps: {
name: 'eog[peso]',
ref: register(),
},
}}
defaultValue={intialData.eog?.peso}
error={Boolean(errors.eog?.peso)}
helperText={errors.eog?.peso}
/>
</InputWrapper>

<InputWrapper>
<TextField
name="diagnostico"
Expand Down
4 changes: 2 additions & 2 deletions public/sw.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion public/sw.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

86 changes: 82 additions & 4 deletions services/updateConsult.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ type updateConsultType = {
tutorData: { [key: string]: any };
petName: string;
consultData: { [key: string]: any };
petResena?: { [key: string]: any };
};

const updateConsult = ({
Expand All @@ -17,6 +18,7 @@ const updateConsult = ({
petName,
consultData,
tutorData,
petResena,
}: updateConsultType): Promise<any> => {
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
Expand Down Expand Up @@ -57,7 +59,26 @@ const updateConsult = ({
.doc(consultID)
.update(consultData)
.then(() => {
resolve(true);
if (!!consultData.eog.peso) {
firebase
.firestore()
.collection('mascotas')
.doc(petID)
.update({
resena: {
...petResena,
ultimoPeso: consultData.eog.peso,
},
})
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(error));
});
} else {
resolve(true);
}
})
.catch((error) => {
reject(new Error(error));
Expand All @@ -82,7 +103,26 @@ const updateConsult = ({
.doc(consultID)
.update({ ...consultData, controlID: '' })
.then(() => {
resolve(true);
if (!!consultData.eog.peso) {
firebase
.firestore()
.collection('mascotas')
.doc(petID)
.update({
resena: {
...petResena,
ultimoPeso: consultData.eog.peso,
},
})
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(error));
});
} else {
resolve(true);
}
})
.catch((error) => {
reject(new Error(error));
Expand Down Expand Up @@ -115,7 +155,26 @@ const updateConsult = ({
.doc(consultID)
.update({ ...consultData, controlID: querySnapshot.id })
.then(() => {
resolve(true);
if (!!consultData.eog.peso) {
firebase
.firestore()
.collection('mascotas')
.doc(petID)
.update({
resena: {
...petResena,
ultimoPeso: consultData.eog.peso,
},
})
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(error));
});
} else {
resolve(true);
}
})
.catch((error) => {
reject(new Error(error));
Expand All @@ -134,7 +193,26 @@ const updateConsult = ({
.doc(consultID)
.update(consultData)
.then(() => {
resolve(true);
if (!!consultData.eog.peso) {
firebase
.firestore()
.collection('mascotas')
.doc(petID)
.update({
resena: {
...petResena,
ultimoPeso: consultData.eog.peso,
},
})
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(error));
});
} else {
resolve(true);
}
})
.catch((error) => {
reject(new Error(error));
Expand Down

0 comments on commit eb9bc1d

Please sign in to comment.