[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Ajoute([FromQuery] ParamsEditeDétail paramsDétail, DétailCommandeVue vue) { Vérificateur vérificateur = new Vérificateur(vue, paramsDétail); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstClientOuFournisseur, EtatSiteChangé, CommandeExiste, DétailNExistePas, CommandeModifiable, PeutCommanderProduit, ChampsInterditsAbsents, ChampsRequisPrésents, ChampsPrésentsValides ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } RetourDeService <DétailCommande> retour = await _détailCommandeService.Ajoute(vue); if (retour.Ok) { return(CreatedAtAction(nameof(LitDétail), vérificateur.KeyDétail, retour.Entité)); } return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> CopieBon([FromQuery] ParamsCréeCommande paramsCrée) { Vérificateur vérificateur = new Vérificateur(paramsCrée); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstClientOuFournisseur, EtatSiteChangé, DerniereCommandePrésenteEtEnvoyée ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } long noCommande = vérificateur.DernièreCommande == null ? 1 : vérificateur.DernièreCommande.No + 1; RetourDeService <Commande> retour = await _service.AjouteCommande(vérificateur.KeyClient, noCommande, vérificateur.Site, vérificateur.EstFournisseur); if (retour.Ok) { await _détailCommandeService.AjouteCopiesDétails(vérificateur.DernièreCommande); } return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> CopieDemC([FromQuery] KeyUidRno keyClient) { Vérificateur vérificateur = new Vérificateur { KeyClient = keyClient }; await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstFournisseur, DétailExiste, ALivrerModifiable ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } CarteUtilisateur carte = await _utilisateurService.CréeCarteUtilisateur(HttpContext.User); if (carte == null) { return(Forbid()); } Site site = await _utile.SiteDeClient(keyClient); if (site == null) { return(NotFound()); } bool estFournisseur = await carte.EstActifEtAMêmeUidRno(site.KeyParam); if (!estFournisseur) { return(Forbid()); } RetourDeService retour = await _service.CopieDemandes(site, keyClient); if (retour == null) { return(RésultatBadRequest("RienACopier")); } return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Supprime([FromQuery] ParamsSupprimeDétail paramsDétail) { Vérificateur vérificateur = new Vérificateur(paramsDétail); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstClientOuFournisseur, EtatSiteChangé, DétailExiste, CommandeModifiable ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } RetourDeService retour = await _détailCommandeService.Supprime(vérificateur.Détail); return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Nouveau([FromQuery] ParamsCréeCommande paramsCrée) { Vérificateur vérificateur = new Vérificateur(paramsCrée); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstClientOuFournisseur, EtatSiteChangé, DerniereCommandeAbsenteOuEnvoyée ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } long noCommande = vérificateur.DernièreCommande == null ? 1 : vérificateur.DernièreCommande.No + 1; RetourDeService retour = await _service.AjouteCommande(vérificateur.KeyClient, noCommande, vérificateur.Site, vérificateur.EstFournisseur); return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Edite([FromQuery] ParamsEditeDétail paramsDétail, DétailCommandeVue vue) { Vérificateur vérificateur = new Vérificateur(vue, paramsDétail); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstClientOuFournisseur, EtatSiteChangé, DétailExiste, ChampsConformesAEtatCommande, PeutCommanderProduit, ChampsInterditsAbsents, ChampsPrésentsValides ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } RetourDeService <DétailCommande> retour = await _détailCommandeService.Edite(vérificateur.Détail, vue); return(SaveChangesActionResult(retour)); }
[ProducesResponseType(409)] // Conflict public async Task <IActionResult> CopieDem([FromQuery] KeyUidRnoNo2 keyDétail) { Vérificateur vérificateur = new Vérificateur(keyDétail); await vérificateur.Vérifie( ClientDeLAction, UtilisateurEstFournisseur, DétailExiste, ALivrerModifiable ); if (vérificateur.Erreur != null) { return(vérificateur.Erreur); } RetourDeService retour = await _service.CopieDemandes(vérificateur.Site, keyDétail); if (retour == null) { return(RésultatBadRequest("RienACopier")); } return(SaveChangesActionResult(retour)); }