/// <summary> /// Funzione per la restituzione dell'esito dell'operazione /// </summary> /// <param name="result">L'oggetto result associato alla riga corrente</param> /// <returns>L'esito</returns> protected string GetResult(AddressBookImportResult result) { string toReturn; switch (result.Result) { case ResultEnum.KO: toReturn = String.Format("<span style=\"color:Red;\">{0}</span>", result.Result); break; case ResultEnum.OK: toReturn = String.Format("<span style=\"color:Green;\">{0}</span>", result.Result); break; case ResultEnum.Warning: toReturn = String.Format("<span style=\"color:Orange;\">{0}</span>", result.Result); break; default: toReturn = String.Format("<span style=\"color:Green;\">{0}</span>", result.Result); break; } // Restituzione del testo return(toReturn); }
/// <summary> /// Funzione per la restituzione dei dettagli sull'esito /// </summary> /// <param name="result">L'oggetto result associato alla riga corrente</param> /// <returns>Gli eventuali dettagli sull'esito</returns> protected string GetDetails(AddressBookImportResult result) { string toReturn; StringBuilder message = new StringBuilder(); // Se ci sono dettagli da mostrare if (result.Problems != null) { // ...aggiunta del tag di inizio numerazione message.AppendLine("<ul>"); // ...per ogni dettaglio... foreach (string str in result.Problems) { // ...aggiunta dell'item message.AppendFormat("<li>{0}</li>", str); } // ...aggiunta del tag di chiusura della lista message.AppendLine("</ul>"); } // Restituzione dei dettagli toReturn = message.ToString(); // Restituzione del testo return(toReturn); }
/// <summary> /// Funzione per l'aggiunta di una nuova riga alla lista delle righe del report /// </summary> /// <param name="dataTable">Il data table cui aggiungere la riga</param> /// <param name="importResult">L'oggetto da cui estrarre i dati per la costruzione del report</param> /// <param name="operation">L'operazione compiuta</param> private void AddRow(DataTable dataTable, AddressBookImportResult importResult, string operation) { // Aggiunta di una nuova riga alla tabella DataRow dataRow = dataTable.NewRow(); // Impostazione dei valori dataRow["Operazione"] = operation; // Operazione dataRow["Messaggio"] = importResult.Message; // Messaggio dataRow["Risultato"] = importResult.Result.ToString(); // Risultato // Dettagli StringBuilder details = new StringBuilder(String.Empty); if (importResult.Problems != null) { foreach (string detail in importResult.Problems) { details.AppendLine(" - " + detail); } } dataRow["Dettagli"] = details.ToString(); // Aggiunta della riga dataTable.Rows.Add(dataRow); }
/// <summary> /// Funzione per la creazione di un elemento di summary /// </summary> /// <param name="tempReport">L'array con gli elementi di cui creare un summary</param> /// <returns>L'elemento con il summary</returns> private AddressBookImportResult GetSummaryElement(List <AddressBookImportResult> tempReport) { // L'oggetto da restituire AddressBookImportResult toReturn; // Il numero di risultati negativi int unsuccessNumber = 0; // Calcolo dei risultati negativi unsuccessNumber = tempReport.Where(e => e.Result == ResultEnum.KO).Count(); // Inizializzazione dell'elemento toReturn = new AddressBookImportResult() { Result = ResultEnum.OK, Message = String.Format( "Corrispondenti analizzati correttamente: {0}. Corrispondenti analizzati con errori: {1}", tempReport.Count - unsuccessNumber, unsuccessNumber) }; // Restituzione dell'elemento creato return(toReturn); }