public AnteprimaStampaSituazioneCondomino(CondominioDTO condominio, IList<SituazioneSoggettoCondominioDTO> datiSituazioneContabile, IList<RataSoggettoDTO> datiRate, IList<VersamentoSoggettoDTO> datiVersamenti, IList<SpeseUnitaDTO> datiSpesePersonali, LetteraSituazioneContabileReportParameters reportParameters) { InitializeComponent(); inizializza(); _datiSituazioneContabile = datiSituazioneContabile; _datiRate = datiRate; _datiVersamenti = datiVersamenti; _datiSpesePersonali = datiSpesePersonali; _reportParameters = reportParameters; _condominio = condominio; }
private void btnConfermaClick(object sender, EventArgs e) { validationSummary1.Validate(); if (validationSummary1.IsValid) { try { // ==================================================================== // Descrizione del condominio // ==================================================================== var righeCondominio = sceltaCondominioCombo1.CondominioSelected.IndirizzoCompleto.Split('&'); var righeDaPubblicare = new string[4]; if (righeCondominio.Length > 0) righeDaPubblicare[0] = righeCondominio[0]; for (var i = 1; i < 4; i++) { if (righeCondominio.Length > i) { if (!string.IsNullOrEmpty(righeDaPubblicare[1])) righeDaPubblicare[1] += " - "; righeDaPubblicare[1] += righeCondominio[i]; } if (i > 1) righeDaPubblicare[i] = string.Empty; } // ==================================================================== // Recupero l'intestazione dello studio // ==================================================================== var azienda = getAziendaService().GetAzienda(); var viaStudio = string.Empty; var capStudio = string.Empty; var localitaStudio = string.Empty; var comuneLettera = string.Empty; if (azienda.IndirizzoSede != null) { viaStudio = azienda.IndirizzoSede.Indirizzo + " n. " + azienda.IndirizzoSede.Civico; capStudio = azienda.IndirizzoSede.Cap; if (!string.IsNullOrEmpty(azienda.IndirizzoSede.DescrizioneComune)) { localitaStudio = azienda.IndirizzoSede.DescrizioneComune + " " + azienda.IndirizzoSede.CodiceProvincia; comuneLettera = azienda.IndirizzoSede.DescrizioneComune.Substring(0, 1).ToUpper() + azienda.IndirizzoSede.DescrizioneComune.Substring(1).ToLower(); } // Collasso diverse informazioni nel campo viaStudio viaStudio += " - " + capStudio + " " + localitaStudio; } var intestazione = "Situazione Personale - Esercizio " + _esercizio.DisplayName; var reportParameters = new LetteraSituazioneContabileReportParameters ( righeDaPubblicare, string.Empty, intestazione, viaStudio, capStudio, localitaStudio, comuneLettera, dataLettera.DateTime, _condominio.DisplayName, ordineInterno.Value.ToString(), dataRate.DateTime, descrizioneVersamenti.Checked, spesePersonali.Checked ); var soggettiSelezionati = Windows.Forms.Library.InfragisticsHelperMethods.DataGridHelper.GetRigheSelezionate<SoggettoCondominioDTO>(listaSoggetti, true); var idSoggetti = new List<int>(soggettiSelezionati.Count); idSoggetti.AddRange(soggettiSelezionati.Select(item => item.ID)); var form = new ExecuteLoadDataListAsync<SituazioneSoggettoCondominioDTO>("E' in corso il caricamento dei soggetti ....." + Environment.NewLine + "Si prega di attendere."); Func<List<SituazioneSoggettoCondominioDTO>> loadDati = () => new List<SituazioneSoggettoCondominioDTO>(getSoggettoCondominioService().GetSituazioneContabileBySoggetti(_esercizio, idSoggetti, dataRate.DateTime, spesePersonali.Checked)); form.LoadData(loadDati); form.ShowDialog(); IList<SituazioneSoggettoCondominioDTO> datiSituazioneContabile = form.DataSourceObject; form.Dispose(); var formVersamenti = new ExecuteLoadDataListAsync<VersamentoSoggettoDTO>("E' in corso il caricamento dei versamenti ....." + Environment.NewLine + "Si prega di attendere."); Func<List<VersamentoSoggettoDTO>> loadVersamenti = () => getVersamentiService().GetByEsercizioSoggetti(_esercizio, idSoggetti, false); formVersamenti.LoadData(loadVersamenti); formVersamenti.ShowDialog(); IList<VersamentoSoggettoDTO> datiVersamenti = formVersamenti.DataSourceObject; formVersamenti.Dispose(); var formRate = new ExecuteLoadDataListAsync<RataSoggettoDTO>("E' in corso il caricamento delle rate ....." + Environment.NewLine + "Si prega di attendere."); Func<List<RataSoggettoDTO>> loadRate = () => getRateService().GetByEsercizioSoggetti(_esercizio, idSoggetti, dataRate.DateTime, false); formRate.LoadData(loadRate); formRate.ShowDialog(); IList<RataSoggettoDTO> datiRate = formRate.DataSourceObject; formRate.Dispose(); var formSpesePersonali = new ExecuteLoadDataListAsync<SpeseUnitaDTO>("E' in corso il caricamento delle spese personali ....." + Environment.NewLine + "Si prega di attendere."); Func<List<SpeseUnitaDTO>> loadSpesePersonali = () => getFatturaService().GetSpesePersonaliByEsercizioSoggetti(_esercizio, idSoggetti); formSpesePersonali.LoadData(loadSpesePersonali); formSpesePersonali.ShowDialog(); IList<SpeseUnitaDTO> datiSpesePersonali = formSpesePersonali.DataSourceObject; formSpesePersonali.Dispose(); var anteprima = new AnteprimaStampaSituazioneCondomino(_condominio, datiSituazioneContabile, datiRate, datiVersamenti, datiSpesePersonali, reportParameters); anteprima.ShowDialog(); anteprima.Dispose(); } catch (Exception ex) { _log.ErrorFormat("Errore nella stampa della situazione per condomino - {0} - esercizio:{1} - condominio:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), _esercizio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>", _esercizio?.IdCondominio.ToString(CultureInfo.InvariantCulture) ?? "<NULL>", Security.Login.Instance.CurrentLogin().Azienda); throw; } } else validationSummary1.ShowErrorSummary(); }