[ProducesResponseType(409)] // Conflict public async Task <IActionResult> Termine([FromQuery] uint idSite) { CarteUtilisateur carteUtilisateur = await CréeCarteFournisseur(idSite, EtatsRolePermis.Actif); if (carteUtilisateur.Erreur != null) { return(carteUtilisateur.Erreur); } Site site = carteUtilisateur.Fournisseur.Site; if (!site.Ouvert) { return(RésultatBadRequest("Ouverture incorrecte")); } // impossible de quitter l'état Catalogue si le site n'a pas de produits int produits = await _utile.NbDisponibles(site.Id); if (produits == 0) { return(RésultatBadRequest("catalogueVide")); } DateTime maintenant = DateTime.Now; bool modifié = await _service.ArchiveModifications(site, maintenant); DateTime?dateCatalogue = null; if (modifié) { dateCatalogue = maintenant; } RetourDeService <ArchiveSite> retour = await _siteService.TermineEtatCatalogue(site, dateCatalogue); if (retour.Ok) { return(RésultatCréé(new ContexteCatalogue(site))); } return(SaveChangesActionResult(retour)); }