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); }
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); }
/// <summary> /// Mi dice se /// </summary> /// <param name="userConfig"></param> /// <returns></returns> public static bool isUserConfigValida(UserConfigLumen userConfig) { return(getMotivoErrore(userConfig) == null); }
public static void serializeToFile(UserConfigLumen userConfig) { ConfigSerializer.serializeToFile <UserConfigLumen>(userConfig, userConfigFileName); }