示例#1
0
        [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));
        }
示例#2
0
        [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));
        }
示例#3
0
        [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));
        }
示例#4
0
        [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));
        }
示例#5
0
        [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));
        }
示例#6
0
        [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));
        }
示例#7
0
        [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));
        }