public void addVocePagamento(VocePagamento vp){ if (vp == null) return; if (_dettaglio == null) _dettaglio = new List<VocePagamento>(); _dettaglio.Add(vp); }
private void btnPrint_Click(object sender, RoutedEventArgs e) { //se ho già il report aperto non lo apro un altro if (rpw != null && rpw.IsVisible) return; //validazione //validazione dati int numero; try { numero = int.Parse(txtboxNum.Text); } catch (FormatException ex) { MessageBox.Show("Il n° del pagamento dev'essere un numero", "Errore nel campo numero pagamento", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (txtboxPiva.Text.Length != 0 && txtboxPiva.Text.Length != 11) { MessageBox.Show("La partita IVA deve essere lunga 11 caratteri, inseriti " + txtboxPiva.Text.Length, "Errore nel campo numero pagamento", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (txtboxCf.Text.Length != 0 && txtboxCf.Text.Length > 16) { MessageBox.Show("Il codice fiscale non può superare i 16 caratteri, inseriti " + txtboxCf.Text.Length, "Errore nel campo numero pagamento", MessageBoxButton.OK, MessageBoxImage.Error); return; } //prelevo i dati dai controlli pag.IsFattura = (bool)radioButtonFatt.IsChecked; pag.Numero = numero; pag.Data = (DateTime)datePickerData.SelectedDate; pag.Destinatario = txtboxDest.Text; pag.Sede = txtboxSede.Text; pag.Piva = txtboxPiva.Text; pag.Cf = txtboxCf.Text; pag.ModoPagamento = txtboxNote.Text; //creo la lista delle voci pagamento //una per ogni attività var vplist = new List<VocePagamento>(); VocePagamento vp; if(attivita.Count >0) foreach (var att in attivita) { vp = new VocePagamento{ Causale = att.VoceInStampata, TotaleIvato = att.Totale }; vplist.Add(vp); } //una unica per i soggiorni if (soggiorni.Count > 0) vplist.AddRange(getVociPagamentoSoggiorni()); //creazione report rpw = new ReportPagamentoWindow(pag, vplist); rpw.Show(); }