private void caricaStampanti() { stampantiInstallate = new List <StampanteInstallata>(); // Use the ObjectQuery to get the list of configured printers ObjectQuery oquery = new ObjectQuery("SELECT * FROM Win32_Printer"); ManagementObjectSearcher mosearcher = new ManagementObjectSearcher(oquery); ManagementObjectCollection moc = mosearcher.Get(); foreach (ManagementObject mo in moc) { // Solo per debug // debugManagementObject( mo ); string nomePorta = null; string nomeStampante = (string)mo ["Name"]; try { nomePorta = (string)mo ["PortName"]; } catch (Exception) { } StampanteInstallata stp = StampanteInstallata.CreateStampanteInstallata(nomeStampante, nomePorta); stampantiInstallate.Add(stp); } }
/// <summary> /// metodo factory /// </summary> /// <param name="stampanteInstallata"></param> /// <param name="formatoCarta"></param> /// <returns></returns> public static StampanteAbbinata create(StampanteInstallata stampanteInstallata, FormatoCarta formatoCarta) { StampanteAbbinata stpAbbi = new StampanteAbbinata(stampanteInstallata, formatoCarta); stpAbbi.ratio = determinaRatio(stampanteInstallata.NomeStampante); return(stpAbbi); }
/// <summary> /// Create a new StampanteInstallata object. /// </summary> /// <param name="NomeStampante">nomeStampante.</param> public static StampanteInstallata CreateStampanteInstallata(global::System.String nomeStampante, global::System.String portaStampante) { StampanteInstallata stampanteInstallata = new StampanteInstallata(); stampanteInstallata.NomeStampante = nomeStampante; stampanteInstallata.PortaStampante = portaStampante; return(stampanteInstallata); }
public override bool Equals(object obj) { bool sonoUguali = false; if (obj is StampanteInstallata) { StampanteInstallata altra = (StampanteInstallata)obj; sonoUguali = this.NomeStampante.Equals(altra.NomeStampante); } return(sonoUguali); }
public static List <StampanteAbbinata> deserializzaList(String strStampantiAbbinate) { List <StampanteAbbinata> list = new List <StampanteAbbinata>(); if (String.IsNullOrEmpty(strStampantiAbbinate)) { return(list); } String [] righe = strStampantiAbbinate.Split(CHAR_SEP_RIGHE.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); LumenEntities dbContext = UnitOfWorkScope.currentDbContext; List <String> stampantiNonTrovate = new List <String>(); for (int i = 0; i < righe.Length; i++) { string [] campi = righe [i].Split(CHAR_SEP_COLONNE.ToCharArray()); Guid idFormatoCarta = new Guid(campi[0]); String stampante = campi[1]; FormatoCarta formatoCarta = dbContext.FormatiCarta.SingleOrDefault(f => f.id == idFormatoCarta); if (formatoCarta != null) { IStampantiInstallateSrv stampantiInstallateSrv = LumenApplication.Instance.getServizioAvviato <IStampantiInstallateSrv>(); StampanteInstallata stampanteInstallata = stampantiInstallateSrv.getStampanteInstallataByString(stampante); if (stampanteInstallata != null) { list.Add(create(stampanteInstallata, formatoCarta)); } else { stampantiNonTrovate.Add(stampante); } } } if (stampantiNonTrovate.Count > 0) { Messaggio msg = new Messaggio(typeof(StampantiAbbinateUtil)); String stampanti = ""; foreach (String stampante in stampantiNonTrovate) { stampanti += stampante + "\n"; } if (stampantiNonTrovate.Count == 1) { msg.descrizione = "La stampante " + stampanti + " non è stata trovata"; } else { msg.descrizione = "Le stampanti " + stampanti + " non sono state trovate"; } msg.showInStatusBar = true; pubblicaMessaggio(msg); } // Ordino la lista per il valore di ordinamento impostato nel database nel formato carta. list.Sort(StampanteAbbinata.CompareByImportanza); return(list); }
public override int GetHashCode() { return(17 + 31 * FormatoCarta.GetHashCode() + 31 * StampanteInstallata.GetHashCode()); }
/// <summary> /// Per costruire questa classe passare per il metodo StampantiAbbinateUtil::create /// </summary> internal StampanteAbbinata(StampanteInstallata stampanteInstallata, FormatoCarta formatoCarta) { this.StampanteInstallata = stampanteInstallata; this.FormatoCarta = formatoCarta; }