private RicercheHtml[] orderIndex(ArrayList listaContatori, string tipoRicerca) { ArrayList list = new ArrayList(); Contatore cont = null; for (int i = 0; i < listaContatori.Count; i++) { try { ArrayList appo = (ArrayList)listaContatori[i]; cont = ((Contatore)appo[0]); } catch { cont = (Contatore)listaContatori[i]; } finally { RicercheHtml ric = new RicercheHtml(cont, tipoRicerca); list.Add(ric); } } list.Sort(); return((RicercheHtml[])list.ToArray(typeof(RicercheHtml))); }
/// <summary> /// Questo metodo crea gli oggetti RicercheHtml e li ordina secondo il tipo di ricerca passato come parametro /// </summary> /// <param name="items"></param> /// <param name="tipoRicerca"></param> /// <returns></returns> private RicercheHtml[] orderIndex(ItemsConservazione[] items, string tipoRicerca) { ArrayList list = new ArrayList(); for (int i = 0; i < items.Length; i++) { RicercheHtml ric = new RicercheHtml(items[i], tipoRicerca); list.Add(ric); } list.Sort(); return((RicercheHtml[])list.ToArray(typeof(RicercheHtml))); }
int IComparable.CompareTo(object obj) { if (obj is RicercheHtml) { RicercheHtml compareItems = (RicercheHtml)obj; //faccio un case sul type per decidere come compararli!!! switch (compareItems.tipoRicerca) { case "docNumber": return(this.docNumber.CompareTo(compareItems.docNumber)); case "segnatura": return(this.numProt.CompareTo(compareItems.numProt)); case "oggetto": return(this.oggetto.CompareTo(compareItems.oggetto)); case "fascicolo": return(this.fascicolo.CompareTo(compareItems.fascicolo)); case "data": return(this.data.CompareTo(compareItems.data)); case "fileName": return(this.fileName.CompareTo(compareItems.fileName)); case "mittente": return(this.mittente.CompareTo(compareItems.mittente)); case "creatoreDocumento": return(this.creatoreDocumento.CompareTo(compareItems.creatoreDocumento)); case "tipologiaDocumento": return(this.tipologiaDoc.CompareTo(compareItems.tipologiaDoc)); case "tipoContatore": return(this.tipoContatore.CompareTo(compareItems.tipoContatore)); case "docContatore": return(this.segnaturaContatore.CompareTo(compareItems.segnaturaContatore)); default: return(this.docNumber.CompareTo(compareItems.docNumber)); } } else { throw new ArgumentException("Object is not an RicercheHtml"); } }
protected void creaContatori(RicercheHtml ric, ref ArrayList tipologieDoc, bool concatena) { ArrayList arrayContatori = new ArrayList(); ArrayList lista = new ArrayList(); int index = tipologieDoc.Count; if (ric.itemsCons.template != null) { lista = ric.itemsCons.template.ELENCO_OGGETTI; if (lista.Count == 0) { Contatore contatore = new Contatore(); contatore.items = (ItemsConservazione)ric.itemsCons.Clone(); contatore.tipoDoc = ric.valoreRicerca; contatore.descContatore = "non valorizzati"; contatore.valoreContatore = ""; contatore.segnatura = "non valorizzati"; contatore.items.segnaturaContatore = "non valorizzati"; arrayContatori.Add(contatore); } else { foreach (DocsPaVO.ProfilazioneDinamica.OggettoCustom oggettoCustom in lista) { if (oggettoCustom.TIPO.DESCRIZIONE_TIPO == "Contatore") { if (oggettoCustom.FORMATO_CONTATORE != "") { if (oggettoCustom.VALORE_DATABASE != null && oggettoCustom.VALORE_DATABASE != "") { Contatore contatore = new Contatore(); contatore.segnatura = oggettoCustom.FORMATO_CONTATORE; contatore.items = (ItemsConservazione)ric.itemsCons.Clone(); contatore.items.descContatore = oggettoCustom.DESCRIZIONE; contatore.tipoDoc = ric.valoreRicerca; contatore.descContatore = oggettoCustom.DESCRIZIONE; contatore.valoreContatore = oggettoCustom.VALORE_DATABASE; contatore.segnatura = contatore.segnatura.Replace("ANNO", oggettoCustom.ANNO); contatore.segnatura = contatore.segnatura.Replace("CONTATORE", oggettoCustom.VALORE_DATABASE); if (oggettoCustom.ID_AOO_RF != null && oggettoCustom.ID_AOO_RF != "0") { DocsPaVO.utente.Registro reg = BusinessLogic.Utenti.RegistriManager.getRegistro(oggettoCustom.ID_AOO_RF); if (reg != null) { contatore.segnatura = contatore.segnatura.Replace("RF", reg.codRegistro); contatore.segnatura = contatore.segnatura.Replace("AOO", reg.codRegistro); } } contatore.items.segnaturaContatore = contatore.segnatura; arrayContatori.Add(contatore); } } } } if (arrayContatori.Count == 0) { Contatore contatore = new Contatore(); contatore.items = (ItemsConservazione)ric.itemsCons.Clone(); contatore.tipoDoc = ric.valoreRicerca; contatore.descContatore = "non valorizzati"; contatore.valoreContatore = ""; contatore.segnatura = "non valorizzati"; contatore.items.segnaturaContatore = "non valorizzati"; arrayContatori.Add(contatore); } } } else { Contatore contatore = new Contatore(); contatore.items = (ItemsConservazione)ric.itemsCons.Clone(); contatore.tipoDoc = ric.valoreRicerca; contatore.descContatore = "non valorizzati"; contatore.valoreContatore = ""; contatore.segnatura = "non valorizzati"; contatore.items.segnaturaContatore = "non valorizzati"; arrayContatori.Add(contatore); } if (!concatena) { tipologieDoc.Add(arrayContatori); } else { ((ArrayList)tipologieDoc[index - 1]).Add(arrayContatori); } }