/// <summary> /// Funzione per il reperimento dell'indice del documento di cui si sta visualizzando il dettaglio /// </summary> /// <param name="elementList">Lista dei documenti restituiti dalla ricerca</param> /// <returns>Indice del documento di cui si sta vedendo il dettaglio</returns> public static int GetIndexOfSelectedDocument(ObjScrollElementsList elementList) { // Indice da restituire int index = -1; string tipo = string.Empty; foreach (object obj in elementList.objList) { if (obj.GetType() == typeof(SearchObject)) { tipo = "SearchObject"; break; } else { tipo = "InfoDocumento"; break; } } if (tipo.Equals("SearchObject")) { // Recupero della lista dei documenti restituiti dalla ricerca SearchObject[] result = (SearchObject[])elementList.objList.ToArray(typeof(SearchObject)); // Ricerca dell'oggetto InfoDocumento con id profile uguale a quello selezionato SearchObject document = result.Where(e => e.SearchObjectID == DocumentManager.getRisultatoRicerca(null).idProfile).FirstOrDefault(); // Se il documento è stato trovato, viene calcolato l'indice occupato // dal documento nell'array if (document != null) { index = Array.IndexOf(result, document); } } else { // Recupero della lista dei documenti restituiti dalla ricerca InfoDocumento[] result = (InfoDocumento[])elementList.objList.ToArray(typeof(InfoDocumento)); // Ricerca dell'oggetto InfoDocumento con id profile uguale a quello selezionato InfoDocumento document = result.Where(e => e.idProfile == DocumentManager.getRisultatoRicerca(null).idProfile).FirstOrDefault(); // Se il documento è stato trovato, viene calcolato l'indice occupato // dal documento nell'array if (document != null) { index = Array.IndexOf(result, document); } } // Restituzione dell'indice return(index); }
/// <summary> /// Funzione per il reperimento dell'indice del fascicolo di cui si sta visualizzando il dettaglio /// </summary> /// <param name="elementList">Lista dei fascicoli restituiti dalla ricerca</param> /// <returns>Indice del fascicolo di cui si sta vedendo il dettaglio</returns> public static int GetIndexOfSelectedProject(ObjScrollElementsList elementList) { // Valore da restituire int index = -1; // Recupero della lista dei fascicolo restituiti dalla ricerca SearchObject[] result = (SearchObject[])elementList.objList.ToArray(typeof(SearchObject)); // Ricerca dell'oggetto Fascicolo con id uguale a quello selezionato SearchObject project = result.Where(e => e.SearchObjectID == FascicoliManager.getFascicoloSelezionato().systemID).FirstOrDefault(); // Se il documento è valorizzato viene calcolato l'indice occupato // dal fascicolo all'interno dell'array if (project != null) { index = Array.IndexOf(result, project); } // Restituzione dell'indice calcolato return(index); }