예제 #1
0
        public async Task <RetourDeService <Commande> > AjouteCommande(AKeyUidRno keyClient, long noCommande, Site site, bool estFournisseur)
        {
            Commande commande = new Commande
            {
                Uid     = keyClient.Uid,
                Rno     = keyClient.Rno,
                No      = noCommande,
                SiteUid = site.Uid,
                SiteRno = site.Rno,
            };

            if (estFournisseur)
            {
                commande.Date = new DateTime();
            }

            // [A SUPPRIMER
            if (site.Etat == TypeEtatSite.Livraison)
            {
                Livraison livraison = await _utile.DernièreLivraison(site);

                commande.LivraisonNo = livraison.No;
            }
            // A SUPPRIMER]

            _context.Commande.Add(commande);
            return(await SaveChangesAsync(commande));
        }
        private async Task <Livraison> LivraisonDeCommence(Site site)
        {
            Livraison livraison = await _utile.DernièreLivraison(site);

            if (livraison != null && !livraison.Date.HasValue)
            {
                ErreurDeModel.AjouteAModelState(ModelState, "DernièreLivraisonPasTerminée");
            }
            return(livraison);
        }
예제 #3
0
        /// <summary>
        /// crée une livraison et fixe le numéro de livraison des commandes sans numéro de livraison
        /// </summary>
        /// <param name="site"></param>
        /// <returns></returns>
        public async Task CommenceLivraison(Site site)
        {
            Livraison livraison = await _utile.DernièreLivraison(site);

            long no = livraison == null ? 1 : livraison.No + 1;

            livraison = new Livraison
            {
                Uid = site.Uid,
                Rno = site.Rno,
                No  = no
            };
            _context.Livraison.Add(livraison);

            /// fixe le numéro de livraison des commandes sans numéro de livraison émises par !es clients autorisés d'un site
            await _commandeService.CommenceLivraison(site, no);
        }