private void stampaRapida(StampanteAbbinata stampanteAbbinata, bool autoZoomNoBordiBianchi, String intestazione)
        {
            // Un parametro della configurazione mi dice il totale foto oltre il quale chiedere conferma
            if (targetMode == TargetMode.Selezionate &&
                Configurazione.UserConfigLumen.sogliaNumFotoConfermaInStampaRapida > 0 &&
                countSelezionate >= Configurazione.UserConfigLumen.sogliaNumFotoConfermaInStampaRapida)
            {
                bool procediPure = false;

                procediPure = chiedereConfermaPerProseguire("Sei sicuro di voler stampare\nle " + countSelezionate + " fotografie selezionate?", "Stampa rapida foto senza carrello");

                if (!procediPure)
                {
                    return;
                }
            }

            using (IVenditoreSrv venditoreSpampaRapida = LumenApplication.Instance.creaServizio <IVenditoreSrv>())
            {
                venditoreSpampaRapida.start();
                venditoreSpampaRapida.creareNuovoCarrello();
                venditoreSpampaRapida.carrello.intestazione = intestazione;
                var listaFoto = getListaFotoTarget();
                var param     = creaParamStampaFoto(stampanteAbbinata, autoZoomNoBordiBianchi);

                venditoreSpampaRapida.aggiungereStampe(listaFoto, param);

                string msgErrore = venditoreSpampaRapida.vendereCarrello();
                bool   esitoOk   = (msgErrore == null);
                if (esitoOk)
                {
                    // Spengo le foto che ormai sono andate
                    deselezionaFoto();
                }
                else
                {
                    dialogProvider.ShowError("Stampa diretta non riuscita.", "Errore", null);
                }
                venditoreSpampaRapida.stop();
            }
        }
        /// <summary>
        /// Devo mandare in stampa le foto selezionate
        /// Nel parametro mi arriva l'oggetto StampanteAbbinata che mi da tutte le indicazioni
        /// per la stampa: il formato carta e la stampante
        /// </summary>
        private void stampare(StampanteAbbinata stampanteAbbinata)
        {
            // Se ho selezionato più di una foto, e lavoro in stampa diretta, allora chiedo conferma
            bool procediPure = true;

            if (countSelezionate >= 1 && Configurazione.UserConfigLumen.modoVendita == ModoVendita.StampaDiretta)
            {
                procediPure = chiedereConfermaPerProseguire("Confermi la stampa di " + countSelezionate + " foto ?");
            }

            if (procediPure)
            {
                if (Configurazione.UserConfigLumen.modoVendita == ModoVendita.StampaDiretta)
                {
                    using (IVenditoreSrv venditoreStampaDiretta = LumenApplication.Instance.creaServizio <IVenditoreSrv>()) {
                        venditoreStampaDiretta.creareNuovoCarrello();
                        venditoreStampaDiretta.carrello.intestazione = VenditoreSrvImpl.INTESTAZIONE_STAMPA_RAPIDA;
                        venditoreStampaDiretta.aggiungereStampe(getListaFotoTarget(), creaParamStampaFoto(stampanteAbbinata));
                        string msgErrore = venditoreStampaDiretta.vendereCarrello();
                        bool   esitoOk   = (msgErrore == null);
                        if (esitoOk)
                        {
                            dialogProvider.ShowMessage("Carrello venduto Correttamente", "Avviso");
                        }
                        else
                        {
                            dialogProvider.ShowError("Errore inserimento carrello nella cassa", "Errore", null);
                        }
                    }
                }
                else
                {
                    venditoreSrv.aggiungereStampe(getListaFotoTarget(), creaParamStampaFoto(stampanteAbbinata));
                }

                deselezionaFoto();
            }
        }
        void stampaFotoTessera(StampanteAbbinata stampanteAbbinata)
        {
            // Le foto-tessera le stampo una alla volta. Non è molto probabile la stampa multipla
            if (targetMode != TargetMode.Singola)
            {
                return;
            }

            using (IVenditoreSrv venditoreFtessera = LumenApplication.Instance.creaServizio <IVenditoreSrv>()) {
                venditoreFtessera.start();
                venditoreFtessera.creareNuovoCarrello();
                venditoreFtessera.carrello.intestazione = VenditoreSrvImpl.INTESTAZIONE_STAMPA_FOTOTESSERA;
                var listaFoto = getListaFotoTarget();

                var param = new ParamStampaTessera {
                    nomeStampante = stampanteAbbinata.StampanteInstallata.NomeStampante,
                    formatoCarta  = stampanteAbbinata.FormatoCarta,
                    numCopie      = 1
                };

                venditoreFtessera.aggiungereStampe(listaFoto, param);

                string msgErrore = venditoreFtessera.vendereCarrello();
                bool   esitoOk   = (msgErrore == null);
                if (esitoOk)
                {
                    // Spengo le foto che ormai sono andate
                    deselezionaFoto();
                }
                else
                {
                    dialogProvider.ShowError("Stampa foto tessera non riuscita.", "Errore", null);
                }
                venditoreFtessera.stop();
            }
        }