protected void displayMessage(string caption_, string text_, MessageBoxIcon icon_)
        {
            Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo info = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo(
        Infragistics.Win.UltraMessageBox.MessageBoxStyle.Default,
        this,
        text_,
        caption_,
        MessageBoxButtons.OK,
        icon_,
        MessageBoxDefaultButton.Button1,
        Infragistics.Win.DefaultableBoolean.False);

            Singleton<Infragistics.Win.UltraMessageBox.UltraMessageBoxManager>.Instance.ShowMessageBox(info);

        }
        private void btnContabilizzaClick(object sender, EventArgs e)
        {
            try
            {
                var movimenti = new List<MovimentiBancariDTO>();
                foreach (var row in listaMovimenti.Rows)
                {
                    try
                    {
                        if (row.IsDataRow && !row.IsFilteredOut && (bool)row.Cells["SelectColumn"].Value)
                            movimenti.Add((MovimentiBancariDTO)row.ListObject);
                    }
                    catch (Exception ex)
                    {
                        _log.ErrorFormat("Errore nel ADD delle righe da CONTABILIZZARE - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), row.Cells["ID"].Value, Security.Login.Instance.CurrentLogin().Azienda);                            
                        throw;
                    }
                }

                var resultMessages = getMovimentoBancarioService().Contabilizzazione(movimenti);
                if (resultMessages.Count == 0)
                {
                    CommonMessages.DisplayWarning("La contabilizzazione è terminata correttamente.");

                    // Nascondo le righe correttamente contabilizzate
                    foreach (var row in listaMovimenti.Rows)
                    {
                        try
                        {
                            if (row.IsDataRow && !row.IsFilteredOut && (bool)row.Cells["SelectColumn"].Value)
                            {
                                row.Cells["StatoMovimento"].Value = Sfera.Enums.StatoMovimentoBancarioEnum.Contabilizzato.ToString();
                                row.Cells["Selezionabile"].Value = false;
                                row.Cells["SelectColumn"].Value = false;
                                row.Appearance.ForeColor = Color.LightGray;
                            }
                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore nel nascondere le righe contabilizzate - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), row.Cells["ID"].Value, Security.Login.Instance.CurrentLogin().Azienda);                            
                        }
                    }
                }
                else
                {
                    var messageinfo = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo
                    {
                        MaximumWidth = 650,
                        Caption = "Contabilizzazione Movimenti Bancari",
                        Header = "Si sono verificate delle anomalie che hanno impedito la contabilizzazione",
                        TextFormatted = getElaborazioneCBIService().FormattaMessaggioHtml(resultMessages, false),
                        Buttons = MessageBoxButtons.OK,
                        Icon = MessageBoxIcon.Stop,
                        FooterFormatted = "Nel caso in cui il messaggio di errore avverta che <b>Non è stato trovato nessun esercizio aperto</b><br />occorre aprire l'esercizio di competenza relativo alla data indicata e ripetere l'importazione"
                    };

                    anomalieGestioneMovimenti.ShowMessageBox(messageinfo);
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("La contabilizzazione dei movimenti bancari non è terminata correttamente - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                CommonMessages.DisplayWarning("La contabilizzazione non è terminata correttamente.");
            }
        }
        private void btnContabilizzaClick(object sender, EventArgs e)
        {
            try
            {
                var movimenti = new List<MovimentiBancariDTO>();
                foreach (var row in listaMovimenti.Rows)
                {
                    if (row.IsDataRow && !row.IsFilteredOut && (bool)row.Cells["SelectColumn"].Value)
                        movimenti.Add((MovimentiBancariDTO)row.ListObject);
                }

                var resultMessages = getMovimentoBancarioService().Contabilizzazione(movimenti);
                if (resultMessages.Count == 0)
                {
                    CommonMessages.DisplayWarning("La contabilizzazione è terminata correttamente.");

                    // Nascondo le righe correttamente contabilizzate
                    foreach (var row in listaMovimenti.Rows)
                    {
                        if (row.IsDataRow && !row.IsFilteredOut && (bool) row.Cells["SelectColumn"].Value)
                        {
                            row.Cells["StatoMovimento"].Value = "CONTABILIZ";
                            row.Cells["SelectColumn"].Value = false;
                            //listaMovimenti.DisplayLayout.Bands[0].ColumnFilters["ID"].FilterConditions.Add(new Infragistics.Win.UltraWinGrid.FilterCondition(Infragistics.Win.UltraWinGrid.FilterComparisionOperator.NotEquals, row.Cells["Id"].Value));
                            //listaMovimenti.DisplayLayout.Bands[0].ColumnFilters["ID"].LogicalOperator = Infragistics.Win.UltraWinGrid.FilterLogicalOperator.And;
                        }
                    }

                }
                else
                {
                    var messageinfo = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo
                    {
                        MaximumWidth = 650,
                        Caption = "Contabilizzazione Movimenti Bancari",
                        Header = "Si sono verificate delle anomalie che hanno impedito la contabilizzazione",
                        TextFormatted = getElaborazioneCBIService().FormattaMessaggioHtml(resultMessages, false),
                        Buttons = MessageBoxButtons.OK,
                        Icon = MessageBoxIcon.Stop,
                        FooterFormatted = "Nel caso in cui il messaggio di errore avverta che <b>Non è stato trovato nessun esercizio aperto</b><br />occorre aprire l'esercizio di competenza relativo alla data indicata e ripetere l'importazione"
                    };

                    anomalieGestioneMovimenti.ShowMessageBox(messageinfo);                    
                }
            }
            catch (Exception ex)
            {
                
                _log.Error("La contabilizzazione dei movimenti bancari", ex);
                CommonMessages.DisplayWarning("La contabilizzazione non è terminata correttamente.");
                throw;
            }
        }
        public bool Conferma()
        {
            validationSummary1.Validate();
            if (validationSummary1.IsValid)
            {
                
                var messageinfo = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo
                {
                    Caption = "Aggiornamento modello contabile",
                    Header = "Conferma dell'aggiornamento della descrizione bollette",
                    TextFormatted = "La descrizione delle bollette legate al modello può essere aggiornata automaticamente con la nuova descrizione:<br /><strong>" + descrizioneVoceFattura.Text + "</strong><br />Vuoi aggiornare la descrizione di tutte le bollette legate al presente modello?",
                    Buttons = MessageBoxButtons.YesNoCancel,
                    Icon = MessageBoxIcon.Warning,
                    FooterFormatted = "<strong>ATTENZIONE:</strong> Eventuali descrizioni personalizzate per specifiche bollette saranno <strong>irrimediabilmente perse</strong>"
                };
                var result = confermaAggiornamentoDescrizione.ShowMessageBox(messageinfo);
                if(result != DialogResult.Cancel)
                {
                    var form = new ExecuteLoadDataObjectAsync<AuthorizationMessages>("Aggiornamento e ricalcolo spese in corso ....." + Environment.NewLine + "Si prega di attendere.");
                    Func<AuthorizationMessages> loadDati = () => getModelloContabileService().Salva(_modello, _esercizio, ripartizioneSpese.Checked);
                    form.LoadData(loadDati);
                    form.ShowDialog();
                    var messageAuth = form.DataSourceObject;
                    form.Dispose();

                    if (string.IsNullOrEmpty(messageAuth.FatalMessage))
                    {
                        if (!string.IsNullOrEmpty(messageAuth.WarnMessage))
                            CommonMessages.DisplayWarning("Avvertimenti per il salvataggio del modello contabile:" + Environment.NewLine + messageAuth.WarnMessage);

                        if(result == DialogResult.Yes)
                        {
                            var messageAggiornamentoDescrizione = getUtenzaService().AggiornaDescrizioneBollettaByModello(_modello.ID, descrizioneVoceFattura.Text);
                            if(!string.IsNullOrEmpty(messageAggiornamentoDescrizione))
                            {
                                CommonMessages.DisplayWarning("Si sono verificati i seguenti problemi durante l'aggiornamento della descrizione delle bollette:" + Environment.NewLine + messageAggiornamentoDescrizione);
                                return false;
                            }
                        }

                        CommonMessages.DisplayComplete("Il modello è stato correttamente salvato.");
                        return true;
                    }
                    CommonMessages.DisplayWarning("Si sono verificati i seguenti problemi durante il salvataggio del modello:" + Environment.NewLine + messageAuth.FatalMessage);
                }
            }
            else
                validationSummary1.ShowErrorSummary();

            return false;
        }
        private void btnConfermaClick(object sender, EventArgs e)
        {
            validationSummary1.Validate();

            if (validationSummary1.IsValid)
            {
                anomalie.Value = string.Empty;
                warning.Value = string.Empty;
                var importazione = new EsecuzioneImportazioneFileCBIUI(_fileName);
                if (!importazione.IsDisposed && importazione.ShowDialog() == DialogResult.Cancel)
                {
                    Gipasoft.Library.IoC.IoC.Dispose();
                    _file = importazione.File;

                    if (_file != null)
                    {
                        if (ParentForm != null && ParentForm.MdiParent != null &&
                            ParentForm.MdiParent is ISaldiBancariShow)
                            ((ISaldiBancariShow) ParentForm.MdiParent).LoadSaldiBancari();


                        if (_file.Risultato.Count == 0)
                            CommonMessages.DisplayComplete("L'importazione del file è terminata correttamente.");
                        else
                        {
                            if (_file.Risultato.Any(item => !string.IsNullOrEmpty(item.Fatal)))
                            {
                                dettaglioWarning.Visible = false;
                                dettaglioAnomalie.Visible = false;

                                var messageinfo = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo
                                {
                                    MaximumWidth = 650,
                                    Caption = "Importazione file CBI",
                                    Header = "Si sono verificate delle anomalie che hanno impedito l'importazione del file CBI",
                                    TextFormatted = _elaborazioneCbiService.FormattaMessaggioHtml(_file.Risultato),
                                    Buttons = MessageBoxButtons.OK,
                                    Icon = MessageBoxIcon.Stop,
                                    FooterFormatted = "Nel caso in cui il messaggio di errore avverta che <b>Non è stato trovato nessun esercizio aperto</b><br />occorre aprire l'esercizio di competenza relativo alla data indicata e ripetere l'importazione",
                                    ContentAreaAppearance = {TextTrimming = TextTrimming.EllipsisWordWithLineLimit }
                                };

                                anomalieImportazioneCBI.ShowMessageBox(messageinfo);
                            }
                            else
                            {
                            var anomalieCount = elaboraMessaggi();

                            // Presenti anomalie occorre messaggio per l'utente
                            if (anomalieCount > 0)
                            {
                                var messageinfo = new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo
                                {
                                    MinimumWidth = 600,
                                    Caption = "Importazione file CBI",
                                    Header = "Si sono verificate delle anomalie nella importazione del file CBI",
                                    TextFormatted = _elaborazioneCbiService.FormattaMessaggioHtml(_file.Risultato),
                                    Buttons = MessageBoxButtons.OK,
                                    Icon = MessageBoxIcon.Warning,
                                    FooterFormatted = "Nel caso in cui il messaggio di errore avverta che <b>La rata è già stata saldata</b> il problema, probabilmente, è dovuto alla registrazione di un pagamento manuale che ha coperto le rate emesse tramite MAV<br />In questo caso i <b>versamenti sono stati caricati fuori piano rateale</b><br /><br />Verificare gli errori verificatisi e controllare che eventuali versamenti dei MAV siano stati correttamenti caricati"
                                };

                                anomalieImportazioneCBI.ShowMessageBox(messageinfo);
                            }
                                
                        }
                        }
                        
                        loadPlugins();
                    }

                }

                importazione.Dispose();
            }
            else
                validationSummary1.ShowErrorSummary();
        }