[ProducesResponseType(404)] // Not found public async Task <IActionResult> Lit([FromQuery] KeyUidRnoNo2 keyDétail) { CarteUtilisateur carte = await _utilisateurService.CréeCarteUtilisateur(HttpContext.User); if (carte == null) { // fausse carte return(Forbid()); } bool estLeClient = await carte.EstActifEtAMêmeUidRno(AKeyUidRnoNo2.KeyUidRno_1(keyDétail).KeyParam); if (!estLeClient) { bool estFournisseur = await carte.EstActifEtAMêmeUidRno(AKeyUidRnoNo2.KeyUidRno_2(keyDétail).KeyParam); if (!estFournisseur) { return(Forbid()); } } DétailCommande détail = await _détailCommandeService.Lit(keyDétail.KeyParam); if (détail == null) { return(NotFound()); } DétailCommandeVue vue = _détailCommandeService.CréeVue(détail); return(Ok(vue)); }
public async Task <DétailCommande> LitDétail(DétailCommandeVue vue) { DétailCommande détail = await _context.DétailCommande .Where(d => d.AMêmeKey(vue)) .FirstOrDefaultAsync(); return(détail); }
/// <summary> /// Vérifie que vérificateur.Commande.Détails ne contient pas déjà le détail /// </summary> /// <param name="vérificateur"></param> /// <returns></returns> private Task DétailNExistePas(Vérificateur vérificateur) { List <DétailCommande> détails = new List <DétailCommande>(vérificateur.Commande.Détails); DétailCommande détail = détails.Find(d => d.No2 == vérificateur.KeyDétail.No2); if (détail != null) { vérificateur.Erreur = RésultatBadRequest("DétailExiste"); } return(Task.CompletedTask); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Detail(DétailCommandeVue vue) { CarteUtilisateur carte = await _utilisateurService.CréeCarteUtilisateur(HttpContext.User); if (carte == null) { // fausse carte return(Forbid()); } KeyUidRno keySite = new KeyUidRno { Uid = vue.Uid2, Rno = vue.Rno }; if (!await carte.EstActifEtAMêmeUidRno(keySite.KeyParam)) { return(Forbid()); } Commande commande = await _service.CommandeDeDétail(vue); if (commande == null) { return(NotFound()); } if (!(await _service.EstDansSynthèseEnvoyée(commande))) { Erreurs.ErreurDeModel.AjouteAModelState(ModelState, "CommandeLivréeEtNonFacturée"); return(BadRequest()); } DétailCommande détail = await _service.LitDétail(vue); if (détail == null) { return(NotFound()); } RetourDeService retour = await _service.EcritDétail(détail, vue); return(SaveChangesActionResult(retour)); }
public async Task <RetourDeService> EcritDétail(DétailCommande détail, DétailCommandeVue vue) { détail.AFacturer = vue.AFacturer; _context.DétailCommande.Update(détail); return(await SaveChangesAsync()); }
/// <summary> /// retourne vrai si les TypeCommande du détail et du produit permettent la copie de Demande dans ALivrer /// </summary> /// <param name="détail"></param> /// <param name="produit"></param> /// <returns></returns> public bool TypesPermettentCopieDemande(DétailCommande détail, Produit produit) { return(produit.TypeCommande != TypeUnitéDeCommande.UnitéOuVrac || détail.TypeCommande == TypeUnitéDeCommande.Vrac); }