Exemplo n.º 1
0
        private async Task <DocumentCommande> DocumentCommandeTarif(AKeyUidRno keySite, Commande commande, Func <DétailCommande, bool> filtreDétails, bool avecDétails)
        {
            DocumentCommande             documentCommande = DocumentCommandeBase(commande);
            IEnumerable <DétailCommande> détails          = filtreDétails == null ? commande.Détails : commande.Détails.Where(d => filtreDétails(d)).ToList();

            if (avecDétails)
            {
                documentCommande.Détails = détails.Select(d => _détailCommandeService.DétailCommandeData(d)).ToList();
            }
            documentCommande.Tarif = await _catalogueService.Tarif(keySite, commande.Date.Value, détails);

            return(documentCommande);
        }
Exemplo n.º 2
0
        private DocumentBilan DocumentLivraisonBase(Livraison livraison, IEnumerable <DocumentCommande> commandes)
        {
            DocumentCommande commande = commandes.First();
            DocumentBilan    doc      = new DocumentBilan
            {
                Uid  = commande.Uid,
                Rno  = commande.Rno,
                No   = livraison.No,
                Date = livraison.Date.Value,
            };

            return(doc);
        }
Exemplo n.º 3
0
        private DocumentCommande DocumentCommandeBase(DocumentCommande documentCommande)
        {
            DocumentCommande doc = new DocumentCommande
            {
                Uid           = documentCommande.Uid,
                Rno           = documentCommande.Rno,
                No            = documentCommande.No,
                Date          = documentCommande.Date,
                LivraisonNo   = documentCommande.LivraisonNo,
                DateLivraison = documentCommande.DateLivraison,
            };

            return(doc);
        }
Exemplo n.º 4
0
        private DocumentCommande DocumentCommandeBase(Commande c)
        {
            DocumentCommande doc = new DocumentCommande
            {
                Uid           = c.Uid,
                Rno           = c.Rno,
                No            = c.No,
                Date          = c.Date,
                LivraisonNo   = c.Livraison.No,
                DateLivraison = c.Livraison.Date,
            };

            return(doc);
        }
Exemplo n.º 5
0
        private DocumentCommande DocumentCommandeBilan(DocumentCommande documentCommandeTarif)
        {
            DocumentCommande documentCommande        = DocumentCommandeBase(documentCommandeTarif);
            IEnumerable <DétailCommandeData> détails = documentCommandeTarif.Détails.Where(d => d.Demande.HasValue && d.Demande.Value > 0);

            documentCommande.LignesC = détails.Count();
            documentCommande.TotalC  = _détailCommandeService.CoûtDemande(détails, documentCommandeTarif.Tarif, out bool incomplet);
            if (incomplet)
            {
                documentCommande.IncompletC = true;
            }
            détails = documentCommandeTarif.Détails.Where(d => d.ALivrer.HasValue && d.ALivrer.Value > 0);
            documentCommande.LignesL = détails.Count();
            documentCommande.TotalL  = _détailCommandeService.CoûtALivrer(détails, documentCommandeTarif.Tarif);
            return(documentCommande);
        }
Exemplo n.º 6
0
        public async Task <AKeyUidRnoNo> Commande(AKeyUidRno keySite, KeyUidRnoNo keyDocument)
        {
            bool filtreCommandes(Commande c) => c.Uid == keyDocument.Uid && c.Rno == keyDocument.Rno && c.No == keyDocument.No;
            bool filtreDétails(DétailCommande d) => d.Demande.HasValue;

            List <Commande> commandes = await _utile.CommandesAvecDétailsLivraisonEtFacture(filtreCommandes, filtreDétails, null, null).ToListAsync();

            if (commandes.Count() == 0)
            {
                return(null);
            }
            DocumentCommande commande = (await DocumentCommandes(keySite, commandes, filtreDétails, avecDétails: true)).First();

            commande.Détails = commande.Détails.Select(d => new DétailCommandeData
            {
                No           = d.No,
                TypeCommande = d.TypeCommande,
                Demande      = d.Demande
            }).ToList();
            return(commande);
        }