Beispiel #1
0
        public Carrello Applica(Carrello cin, Promozione _promo, PromoContext contestoDiVendita)
        {
            PromoStessaFotoSuFile promo = (PromoStessaFotoSuFile)_promo;

            bool elargito = false;

            // Vediamo se esiste una foto con il rispettivo file.
            foreach (RigaCarrello r in cin.righeCarrello)
            {
                if (r.prezzoNettoTotale > 0 && r.discriminator == RigaCarrello.TIPORIGA_STAMPA)
                {
                    RigaCarrello rigaFile = cin.righeCarrello.SingleOrDefault(r2 => r2.isTipoMasterizzata && r2.fotografia == r.fotografia);
                    if (rigaFile != null)
                    {
                        // trovato il file che corrisponde a questa foto.
                        rigaFile.sconto = rigaFile.prezzoLordoUnitario - promo.prezzoFile;

                        rigaFile.prezzoNettoTotale = GestoreCarrello.calcValoreRiga(rigaFile);
                        elargito = true;

                        _giornale.Debug("Elargita per foto num. " + rigaFile.fotografia.numero);
                    }
                }
            }

            // Aggiungo la promo alla lista di quelle elargite
            if (elargito && contestoDiVendita.promoApplicate.Contains(promo) == false)
            {
                contestoDiVendita.promoApplicate.Add(promo);
            }

            return(cin);
        }
Beispiel #2
0
        public void DoPromoPolimorfTest()
        {
            using (LumenEntities dbContext = new LumenEntities()) {
                PromoStessaFotoSuFile p1 = (PromoStessaFotoSuFile)dbContext.Promozioni.SingleOrDefault(p => p.id == 1);

                bool nuovo1 = (p1 == null);
                if (nuovo1)
                {
                    p1 = new PromoStessaFotoSuFile();
                }
                p1.id          = 1;
                p1.descrizione = "prova1";
                p1.prezzoFile  = 1;

                if (nuovo1)
                {
                    dbContext.Promozioni.Add(p1);
                }

                //


                PromoPrendiNPaghiM p2 = (PromoPrendiNPaghiM)dbContext.Promozioni.SingleOrDefault(p => p.id == 2);

                bool nuovo2 = (p2 == null);
                if (nuovo2)
                {
                    p2 = new PromoPrendiNPaghiM();
                }
                p2.id            = 2;
                p2.descrizione   = "prova2";
                p2.qtaDaPrendere = 6;
                p2.qtaDaPagare   = 5;

                if (nuovo2)
                {
                    dbContext.Promozioni.Add(p2);
                }


                dbContext.SaveChanges();
            }
        }