コード例 #1
0
ファイル: AnteprimaStampa.cs プロジェクト: gipasoft/Sfera
        public AnteprimaStampa(IList<MillesimoDTO> riepilogoMillesimi, RiepilogoMillesimiReportParameters reportParameters)
        {
            InitializeComponent();
            inizializza();

            _riepilogoMillesimi = riepilogoMillesimi;
            _reportParameters = reportParameters;
        }
コード例 #2
0
        private void btnStampaClick(object sender, EventArgs e)
        {
            // ====================================================================
            // Recupero i parametri di selezione
            // ====================================================================
            var contiSelezionati = new List<int>(lista.DisplayLayout.Bands[0].Columns.Count - 4);
            contiSelezionati.AddRange(from UltraGridColumn column in lista.DisplayLayout.Bands[0].Columns where column.Key.StartsWith("Conto_") && !column.Hidden select int.Parse(column.Key.Split('_')[1]));

            IList<DataRowView> righeSelezionate = DataGridHelper.GetRigheSelezionate<DataRowView>(lista, false);
            var unitaSelezionate = new List<int>(righeSelezionate.Count);
            unitaSelezionate.AddRange(righeSelezionate.Select(row => (int) row["IdUnitaImmobiliare"]));


            var righeCondominio = _condominio.IndirizzoCompleto.Split('&');
            var righeDaPubblicare = new string[4];
            for (var i = 0; i < 4; i++)
            {
                if (righeCondominio.Length > i)
                {
                    if (!string.IsNullOrEmpty(righeDaPubblicare[0]))
                        righeDaPubblicare[0] += " - ";
                    righeDaPubblicare[0] += righeCondominio[i];
                }
                righeDaPubblicare[i] = string.Empty;
            }

            // ====================================================================
            // Recupero l'intestazione dello studio
            // ====================================================================
            var azienda = _aziendaService.GetAzienda();
            var intestazioneStudio = azienda.Descrizione;
            var viaStudio = string.Empty;
            var capStudio = string.Empty;
            var localitaStudio = string.Empty;
            if (azienda.IndirizzoSede != null)
            {
                viaStudio = azienda.IndirizzoSede.Indirizzo + " n. " + azienda.IndirizzoSede.Civico;
                capStudio = azienda.IndirizzoSede.Cap;
                localitaStudio = azienda.IndirizzoSede.DescrizioneComune + " " + azienda.IndirizzoSede.CodiceProvincia;

                // Collasso diverse informazioni nel campo viaStudio
                viaStudio += " - " + capStudio + " " + localitaStudio;
            }

            var reportParameters =
                new RiepilogoMillesimiReportParameters
                (
                    righeDaPubblicare,
                    _condominio.Descrizione,
                    _condominio.Codice,
                    _esercizio.DisplayName,
                    string.Empty,
                    true,
                    string.Empty,
                    intestazioneStudio,
                    viaStudio,
                    capStudio,
                    localitaStudio,
                    saltoPagina.Checked
                );

            StabileDTO stabile = null;
            if (stabili.SelectedItem != null)
                stabile = (StabileDTO)stabili.SelectedItem.ListObject;

            GruppoStabileDTO gruppo = null;
            if (gruppi.SelectedItem != null)
                gruppo = (GruppoStabileDTO)gruppi.SelectedItem.ListObject;

            var form = new ExecuteLoadDataListAsync<MillesimoDTO>("E' in corso la lettura dei millesimi ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MillesimoDTO>> loadDati =
                () =>
                _pianoContiService.GetRiepilogoMillesimiByEsercizio(contiSelezionati, unitaSelezionate, stabile, gruppo, _esercizio);
            form.LoadData(loadDati);
            form.ShowDialog();

            var anteprima = new AnteprimaStampa(form.DataSourceObject, reportParameters);
            form.Dispose();

            anteprima.ShowDialog();
            anteprima.Dispose();
        }