public async Task <GetResultatResource> Update(int idResultat, int idResultatUnite, int idResultatMatiere, SetResultatMatiereResource resultatMatiereResource) { var resultat = await _repositoryResultat.GetByIdFull(idResultat); if (resultat == null) { return(_mapper.Map <Resultat, GetResultatResource>(resultat)); } var resultatunite = resultat.ResultatUnites.SingleOrDefault(ru => ru.Id == idResultatUnite); var resultatMatiere = resultatunite.ResultatMatieres.SingleOrDefault(rm => rm.Id == idResultatMatiere); //ResultatMatiereUpdate resultatMatiereResource.MoyenneMatiere = ((resultatMatiereResource.NoteExamen * 2) + resultatMatiereResource.NoteControl) / 3; resultatMatiereResource.TotalMatiere = resultatMatiereResource.MoyenneMatiere * resultatMatiere.Matiere.Coefficient; if (resultatMatiereResource.MoyenneMatiere >= 10) { resultatMatiereResource.CreditMatiere = resultatMatiere.Matiere.Credit; resultatMatiereResource.Acquit = true; } _mapper.Map <SetResultatMatiereResource, ResultatMatiere>(resultatMatiereResource, resultatMatiere); //ResultatUniteUpdate resultatunite.TotalUnite += resultatMatiere.TotalMatiere; resultatunite.MoyenneUnite = resultatunite.TotalUnite / resultatunite.TotalCoff; resultatunite.CreditUnite += resultatMatiere.CreditMatiere; if (resultatunite.MoyenneUnite >= 10) { resultatunite.Acquit = true; } //ResultatGlobalUpdate resultat.Total += resultatunite.TotalUnite; resultat.MoyenneFinal = resultat.Total / resultat.TotalCoff; resultat.TotalCredit += resultatunite.CreditUnite; if (resultat.MoyenneFinal >= 10) { resultat.Acquit = true; } resultat.LastUpdate = DateTime.Now; await _unitOfWork.CompleteAsync(); return(_mapper.Map <Resultat, GetResultatResource>(resultat)); }
public async Task <IActionResult> UpdateResultat(int idResultat, int idResultatUnite, int idResultatMatiere, [FromBody] SetResultatMatiereResource resultatMatiereResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(await _appService.Update(idResultat, idResultatUnite, idResultatMatiere, resultatMatiereResource))); }