Exemplo n.º 1
0
        [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));
        }
Exemplo n.º 2
0
 public Vérificateur(DétailCommandes.DétailCommandeVue vueDétail, ParamsEditeDétail paramsDétail)
 {
     KeyClient   = AKeyUidRnoNo2.KeyUidRno_1(vueDétail);
     KeyCommande = AKeyUidRnoNo2.KeyUidRnoNo_1(vueDétail);
     KeyDétail   = new KeyUidRnoNo2();
     KeyDétail.CopieKey(vueDétail.KeyParam);
     VueDétail = vueDétail;
     if (paramsDétail != null)
     {
         NoLivraison   = paramsDétail.NoLivraison;
         DateCatalogue = paramsDétail.DateCatalogue;
     }
 }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
0
 /// <summary>
 /// Copie Demande dans AServir pour le DétailCommande si la demande est copiable
 /// </summary>
 /// <param name="site"></param>
 /// <param name="keyDétail"></param>
 /// <returns>null si le détail n'est pas copiable</returns>
 public async Task <RetourDeService> CopieDemandes(Site site, KeyUidRnoNo2 keyDétail)
 {
     return(await CopieDemandes(site, filtreClient : null, filtreProduit : null, filtreDétail : d => d.AMêmeKey(keyDétail)));
 }