public RicercheHtml(Contatore contatore, string tipo) { switch (tipo) { case "tipoContatore": itemsCons = contatore.items; tipoRicerca = "contatore"; titoloRicerca = "contatore"; valoreRicerca = contatore.descContatore; descContatore = contatore.descContatore; tipoContatore = valoreRicerca; //contatore.valoreContatore; tipologiaDoc = contatore.tipoDoc; tipoRicerca = tipo; break; } }
/// <summary> /// Questo oggetto serve a personalizzare i criteri di ricerca sugli items di conservazione /// </summary> /// <param name="items"></param> /// <param name="tipo"></param> public RicercheHtml(ItemsConservazione items, string tipo) { itemsCons = items; tipoRicerca = tipo; switch (tipoRicerca) { case "docNumber": titoloRicerca = "numero documento"; valoreRicerca = itemsCons.DocNumber; docNumber = Convert.ToInt32(valoreRicerca); break; case "segnatura": titoloRicerca = "segnatura o numero di documento"; valoreRicerca = itemsCons.numProt_or_id; if (!string.IsNullOrEmpty(itemsCons.numProt)) { numProt = Convert.ToInt32(itemsCons.numProt); } else { numProt = Convert.ToInt32(itemsCons.DocNumber); } break; case "oggetto": titoloRicerca = "descrizione oggetto"; valoreRicerca = itemsCons.desc_oggetto; if (!string.IsNullOrEmpty(valoreRicerca)) { oggetto = valoreRicerca; } else { valoreRicerca = "descrizione oggetto mancante"; oggetto = "descrizione oggetto mancante"; } break; case "fascicolo": titoloRicerca = "codice fascicolo"; valoreRicerca = itemsCons.CodFasc; if (!string.IsNullOrEmpty(valoreRicerca)) { fascicolo = valoreRicerca; } else { valoreRicerca = "non fascicolati"; fascicolo = "non fascicolati"; } break; case "data": titoloRicerca = "data di creazione o protocollazione"; valoreRicerca = itemsCons.data_prot_or_create; DateTime outDate = new DateTime(); CultureInfo culture = new CultureInfo("it-IT"); string[] formati = { "dd/MM/yyyy HH.mm.ss", "dd/MM/yyyy H.mm.ss", "dd/MM/yyyy HH:mm:ss", "dd/MM/yyyy H:mm:ss", "dd/MM/yyyy" }; if (DateTime.TryParseExact(valoreRicerca, formati, culture.DateTimeFormat, System.Globalization.DateTimeStyles.AllowWhiteSpaces, out outDate)) { data = DateTime.ParseExact(valoreRicerca, formati, culture.DateTimeFormat, System.Globalization.DateTimeStyles.AllowWhiteSpaces); } else { valoreRicerca = valoreRicerca.Replace(".", ":"); data = Convert.ToDateTime(valoreRicerca, culture); } break; case "fileName": titoloRicerca = "nome file"; valoreRicerca = itemsCons.pathCD; fileName = valoreRicerca; break; case "mittente": titoloRicerca = "mittente"; valoreRicerca = itemsCons.mittente; if (!string.IsNullOrEmpty(valoreRicerca)) { mittente = valoreRicerca; } else { valoreRicerca = "nessun mittente"; mittente = valoreRicerca; } break; case "creatoreDocumento": titoloRicerca = "creatore documento"; valoreRicerca = itemsCons.creatoreDocumento; if (!string.IsNullOrEmpty(valoreRicerca)) { creatoreDocumento = valoreRicerca; } else { valoreRicerca = "non specificato"; creatoreDocumento = valoreRicerca; } break; case "tipologiaDocumento": titoloRicerca = "tipologia documento"; valoreRicerca = itemsCons.tipo_atto; if (!string.IsNullOrEmpty(valoreRicerca)) { tipologiaDoc = valoreRicerca; } else { valoreRicerca = "nessuna tipologia"; tipologiaDoc = valoreRicerca; } break; case "docContatore": if (itemsCons.descContatore != "non valorizzati") { titoloRicerca = "contatore " + itemsCons.descContatore; } else { titoloRicerca = "contatore"; } // valoreRicerca = ""; valoreRicerca = items.segnaturaContatore; this.segnaturaContatore = valoreRicerca; break; default: titoloRicerca = "numero documento"; valoreRicerca = itemsCons.DocNumber; docNumber = Convert.ToInt32(valoreRicerca); break; } }
protected bool createHTML(ArrayList contatoriPerTipologia, string HtmlPath) { RicercheHtml[] Ricerche = orderIndex(contatoriPerTipologia, "tipoContatore"); bool result = false; TextWriter twriter = null; string paragrafo = string.Empty; ArrayList tipologieContatori = new ArrayList(); SortedList sl = new SortedList(); int k = 0; try { if (!File.Exists(HtmlPath)) { twriter = new StreamWriter(HtmlPath, false, Encoding.UTF8); twriter.WriteLine("<HTML>"); twriter.WriteLine("<font face='Verdana' size=2>"); twriter.WriteLine("<HEAD>"); twriter.WriteLine("<TITLE> Ricerca per " + Ricerche[0].titoloRicerca + " </TITLE>"); twriter.WriteLine("</HEAD>"); twriter.WriteLine("<BODY>"); twriter.WriteLine("<h3 align=center> Ricerca per " + Ricerche[0].titoloRicerca + " </h3>"); twriter.WriteLine("<br><br>"); twriter.WriteLine("<ol type='1'>"); for (int i = 0; i < Ricerche.Length; i++) { ArrayList itemsPerContatore = new ArrayList(); k = tipologieContatori.Count; if (paragrafo != Ricerche[i].descContatore) { string path_relativo = "." + '\u002F'.ToString() + "Documenti_" + Ricerche[i].tipologiaDoc.Trim() + Ricerche[i].descContatore.Trim() + ".html"; twriter.WriteLine("</ul>"); twriter.WriteLine("</li>"); //twriter.WriteLine("<li><b><a href='" + html_Path + "\\html\\" + "Documenti_" + Ricerche[i].tipologiaDoc.Trim() + Ricerche[i].descContatore.Trim() + ".html'>" + Ricerche[i].descContatore + "</a></b>"); twriter.WriteLine("<li><b><a href='" + path_relativo + "'>" + Ricerche[i].descContatore + "</a></b>"); twriter.WriteLine("<ul type='disc'>"); paragrafo = Ricerche[i].descContatore; itemsPerContatore.Add(Ricerche[i].itemsCons); tipologieContatori.Add(itemsPerContatore); sl.Add(Ricerche[i].tipologiaDoc.Trim() + Ricerche[i].descContatore.Trim(), itemsPerContatore); } else { Ricerche[i].itemsCons.descContatore = Ricerche[i].descContatore; ((ArrayList)tipologieContatori[k - 1]).Add(Ricerche[i].itemsCons); sl.Remove(Ricerche[i].tipologiaDoc.Trim() + Ricerche[i].descContatore.Trim()); sl.Add(Ricerche[i].tipologiaDoc.Trim() + Ricerche[i].descContatore.Trim(), ((ArrayList)tipologieContatori[k - 1])); } } foreach (string key in sl.GetKeyList()) { ArrayList items = (ArrayList)sl[key]; ItemsConservazione[] itemsCons = new ItemsConservazione[items.Count]; items.CopyTo(itemsCons); createHTML(itemsCons, html_Path + "\\html\\" + "Documenti_" + key + ".html", "docContatore"); } twriter.WriteLine("</ol>"); twriter.WriteLine("</BODY>"); twriter.WriteLine("</font>"); twriter.WriteLine("</HTML>"); } result = true; } catch (Exception e) { string err = "Errore nella creazione della pagina " + HtmlPath + " : " + e.Message; logger.Debug(err); result = false; } finally { if (twriter != null) { twriter.Flush(); twriter.Close(); } } return(result); }