예제 #1
0
        public static string getMotivoErrore(UserConfigLumen userConfig)
        {
            DbUtil mioDbUtil = new DbUtil(userConfig);

            // Controllo che la cartella contenente le foto esista e sia scrivibile
            if (!Directory.Exists(userConfig.cartellaFoto))
            {
                return("Cartella foto inesistente: " + userConfig.cartellaFoto);
            }

            if (userConfig.cartellaPubblicita != null && Directory.Exists(userConfig.cartellaPubblicita) == false)
            {
                return("Cartella pubblicità inesistente: " + userConfig.cartellaPubblicita);
            }

            if (userConfig.cartellaLoghi != null && Directory.Exists(userConfig.cartellaLoghi) == false)
            {
                return("Cartella loghi inesistente: " + userConfig.cartellaLoghi);
            }

            if (userConfig.cartellaLoghi != null)
            {
                string nomeLogo = Path.Combine(userConfig.cartellaLoghi, userConfig.logoNomeFile);
                if (!String.IsNullOrWhiteSpace(userConfig.logoNomeFile) && !File.Exists(nomeLogo))
                {
                    return("File logo inesistente" + nomeLogo);
                }
            }

            if (userConfig.imprimereAreaDiRispetto)
            {
                // Verifico che la ratio sia != 0

                try {
                    double ris = CoreUtil.evaluateExpression(userConfig.expRatioAreaDiRispetto);
                    if (ris < 1)
                    {
                        throw new ArgumentException("valore non valido (es: 4/3)");
                    }
                } catch (Exception ee) {
                    return("Rapporto dell'area di rispetto: " + ee.Message);
                }
            }

            return(null);
        }
예제 #2
0
        public static Config.UserConfigLumen creaUserConfig()
        {
            UserConfigLumen userConfig = new UserConfigLumen();

            // Alcuni default NON naturali. Quelli naturali non li nomino.

            // Il più importante è il motore del database
            userConfig.motoreDatabase = MotoreDatabase.SqLite;
            userConfig.dbNomeDbVuoto  = "dbvuoto.sqlite";
            userConfig.dbNomeDbPieno  = "database.sqlite";
            // Questo è per MySql
            userConfig.dbNomeServer = "server-lumen";                                                   // TODO sostituire con LUMEN

            userConfig.cartellaDatabase       = decidiCartellaDatabase();
            userConfig.autoZoomNoBordiBianchi = true;
            userConfig.modoVendita            = ModoVendita.Carrello;

            // Le foto e le maschere le metto nella CommonPictures
            string pp = Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures);

            userConfig.cartellaFoto       = Path.Combine(pp, applicationName, "Foto");
            userConfig.cartellaMaschere   = Path.Combine(pp, applicationName, "Maschere");
            userConfig.cartellaLoghi      = Path.Combine(pp, applicationName, "Loghi");
            userConfig.cartellaPubblicita = Path.Combine(pp, applicationName, "Pubblicita");


            userConfig.estensioniGrafiche = ".jpg;.jpeg;.png;.tif;.tiff";
            userConfig.editorImmagini     = "MSPAINT.EXE";
            userConfig.masterizzaTarget   = MasterizzaTarget.DriveRimovibili;
            userConfig.oraCambioGiornata  = "05:00";

            userConfig.numRigheProvini  = 6;
            userConfig.numColoneProvini = 4;

            userConfig.maxNumFotoMod   = 25;
            userConfig.lungFIFOFotoMod = 50;
            userConfig.autoRotazione   = true;

            // Questo è il logo di esempio che verrà distribuito nel pacchetto di installazione.
            userConfig.logoNomeFile             = nomeLogoDefault;
            userConfig.logoPercentualeCopertura = 15;

            #region Settagggi per Self-Service

            userConfig.logoNomeFileSelfService = nomeLogoSSDefault;
            userConfig.modoRicercaSS           = "fotografi";
            userConfig.filtroFotografiSS       = FiltroFotografi.Tutti;

            #endregion Settagggi per Self-Service

            userConfig.sogliaNumFotoConfermaInStampaRapida = 3;              // Se stampo almeno 3 foto chiedo conferma

            // Geometria di default per lo slideShow
            userConfig.geometriaFinestraSlideShow = creaGeometriaSlideShowDefault();

            userConfig.correzioneAltezzaGalleryDueFoto = 50;
            userConfig.tecSogliaStampaProvini          = -3;

            userConfig.imprimereAreaDiRispetto = false;
            userConfig.expRatioAreaDiRispetto  = "4/3";
            userConfig.stampigliMarginBottom   = 20;
            userConfig.stampigliMarginRight    = 20;

            // Grandezza del font per stampare gli stampigli sulla foto.
            userConfig.fontSizeStampaFoto = 10;

            // Configurazione delle righe/colonne per ogni stellina della gallery
            userConfig.prefGalleryViste = new Griglia[MAX_STELLINE];
            // 1 stellina
            userConfig.prefGalleryViste[0] = new Griglia {
                numRighe = 1, numColonne = 1
            };
            // 2 stelline
            userConfig.prefGalleryViste[1] = new Griglia {
                numRighe = 2, numColonne = 4
            };
            // 3 stelline
            userConfig.prefGalleryViste[2] = new Griglia {
                numRighe = 4, numColonne = 6
            };

            return(userConfig);
        }
예제 #3
0
 /// <summary>
 ///  Mi dice se
 /// </summary>
 /// <param name="userConfig"></param>
 /// <returns></returns>
 public static bool isUserConfigValida(UserConfigLumen userConfig)
 {
     return(getMotivoErrore(userConfig) == null);
 }
예제 #4
0
 public static void serializeToFile(UserConfigLumen userConfig)
 {
     ConfigSerializer.serializeToFile <UserConfigLumen>(userConfig, userConfigFileName);
 }