示例#1
0
        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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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);
        }
示例#6
0
 public override int GetHashCode()
 {
     return(17 + 31 * FormatoCarta.GetHashCode() + 31 * StampanteInstallata.GetHashCode());
 }
示例#7
0
 /// <summary>
 /// Per costruire questa classe passare per il metodo StampantiAbbinateUtil::create
 /// </summary>
 internal StampanteAbbinata(StampanteInstallata stampanteInstallata, FormatoCarta formatoCarta)
 {
     this.StampanteInstallata = stampanteInstallata;
     this.FormatoCarta        = formatoCarta;
 }