public void stampaProviniTestAbort()
        {
            ParamStampaProvini param = new ParamStampaProvini();

            CodaDiStampe c1 = new CodaDiStampe(param, Costanti.NomeStampantePdf);

            c1.Stop();

            using (new UnitOfWorkScope(false))
            {
                ParamStampaProvini p = ricavaParamStampaProvini();
                p.numeroColonne  = 3;
                p.numeroRighe    = 4;
                p.macchiaProvini = true;

                LumenEntities     dbContext = UnitOfWorkScope.currentDbContext;
                List <Fotografia> fotos     = (from f in dbContext.Fotografie.Include("fotografo")
                                               select f).Take(QUANTE).ToList();

                c1.EnqueueItem(new LavoroDiStampaProvini(fotos, p));
                // Accodo una stampa in modo da testare l'abort

                c1.Stop(Threading.PendingItemAction.AbortPendingItems);
                c1.Dispose();
            }
        }
        public void stampaProviniFotoProviniTest()
        {
            using (new UnitOfWorkScope(false))
            {
                LumenEntities     dbContext = UnitOfWorkScope.currentDbContext;
                List <Fotografia> fotos     = (from f in dbContext.Fotografie.Include("fotografo")
                                               select f).Take(QUANTE).ToList();

                //Carico una stampa Provini
                ParamStampaProvini p = ricavaParamStampaProvini();
                p.numeroColonne  = 5;
                p.numeroRighe    = 5;
                p.macchiaProvini = false;

                _impl.aggiungereStampe(fotos, p);

                //Carico una stampa Foto
                ParamStampaFoto p2 = ricavaParamStampaFoto();

                CodaDiStampe c1 = new CodaDiStampe(p2, Costanti.NomeStampantePdf);

                Fotografia foto = (from f in dbContext.Fotografie.Include("fotografo")
                                   select f).Take(QUANTE + 1).ToList().Last();

                c1.EnqueueItem(new LavoroDiStampaFoto(foto, p2));
                c1.Start();

                List <Fotografia> fotos2 = (from f in dbContext.Fotografie.Include("fotografo")
                                            select f).Take(2 * QUANTE + 1).ToList();

                // Carico una stampa Provini
                ParamStampaProvini p3 = ricavaParamStampaProvini();
                p3.numeroColonne  = 3;
                p3.numeroRighe    = 4;
                p3.macchiaProvini = true;

                fotos2.RemoveRange(0, QUANTE + 1);

                _impl.aggiungereStampe(fotos2, p3);

                //Carico una stampa Foto
                ParamStampaFoto p4 = ricavaParamStampaFoto();

                CodaDiStampe c2 = new CodaDiStampe(p4, Costanti.NomeStampantePdf);

                Fotografia foto2 = (from f in dbContext.Fotografie.Include("fotografo")
                                    select f).Take(2 * QUANTE + 2).ToList().Last();

                c2.EnqueueItem(new LavoroDiStampaFoto(foto2, p4));
                c2.Start();
            }

            while (_contaElaborazioniTerminate != 2)
            {
                Thread.Sleep(1000);
            }
            Assert.IsTrue(esitoStampa == EsitoStampa.Ok);
        }
        public void codaDiStampeConAbort()
        {
            ParamStampaFoto param = new ParamStampaFoto();

            CodaDiStampe c3 = new CodaDiStampe(param, "doPDF v7");

            c3.Stop();

            c3.EnqueueItem(new LavoroDiStampaFoto(new Fotografia(), new ParamStampaFoto()));
            // Accodo una stampa in modo da testare l'abort

            c3.Stop(Threading.PendingItemAction.AbortPendingItems);
            c3.Dispose();
        }
        public void codaDiStampaTestJoin()
        {
            ParamStampaFoto param = new ParamStampaFoto();

            // Istanzio una coda di stampa e la chiudo
            CodaDiStampe c1 = new CodaDiStampe(param, "coda1");

            c1.Start();
            c1.Stop();
            c1.Dispose();

            CodaDiStampe c2 = new CodaDiStampe(param, "coda2");

            c2.Dispose();

            CodaDiStampe c3 = new CodaDiStampe(param, "coda3");

            c3.Stop();
            c3.Stop();
            c3.Dispose();
        }