/// <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); }
public override bool Equals(object obj) { bool sonoUguali = false; if (obj is StampanteAbbinata) { StampanteAbbinata altra = (StampanteAbbinata)obj; if (this.FormatoCarta != null && altra.FormatoCarta != null) { sonoUguali = this.FormatoCarta.Equals(altra.FormatoCarta); if (sonoUguali) { if (this.StampanteInstallata != null && altra.StampanteInstallata != null) { sonoUguali = this.StampanteInstallata.Equals(altra.StampanteInstallata); } else { sonoUguali = false; } } } } return(sonoUguali); }
private string ricavaStampante(FormatoCarta formatoCarta) { _giornale.Warn("Come mai non è definita la stampante? Va beh, la determino io"); StampanteAbbinata sa = stampantiAbbinate.FirstOrDefault <StampanteAbbinata>(s => s.FormatoCarta.Equals(formatoCarta)); String nomeStampante = null; if (sa != null) { nomeStampante = sa.StampanteInstallata.NomeStampante; } else { _giornale.Warn("Non riesco a stabilire la stampante di questa carta: " + formatoCarta.descrizione + "(id=" + formatoCarta.id + ")"); } return(nomeStampante); }
// Mi serve per ordinare i formati carta stampabili in base alla importanza (ordinamento) impostato public static int CompareByImportanza(StampanteAbbinata a, StampanteAbbinata b) { int?ord1 = null; int?ord2 = null; if (a != null && a.FormatoCarta != null) { ord1 = a.FormatoCarta.ordinamento; } if (b != null && b.FormatoCarta != null) { ord2 = b.FormatoCarta.ordinamento; } if (ord1 == null) { if (ord2 == null) { return(0); } else { return(-1); } } else { if (ord2 == null) { return(1); } else { return((int)ord1 - (int)ord2); } } }