public ReportPagamentoWindow(Pagamento p, List<VocePagamento> vpl)
        {
            InitializeComponent();

            rv = new ReportViewer();
            rv.ProcessingMode = ProcessingMode.Local;
            rv.LocalReport.ReportEmbeddedResource = "Soggiorni.PagamentoReport.rdlc";
            rv.SetDisplayMode(DisplayMode.PrintLayout);
            voci = vpl;
            pag = p;
            windowsFormsHost.Child = rv;

            
        }
        public CheckoutSoggiornoWindow(Soggiorno s)
        {
            InitializeComponent();

            this.sog = s;
            dag = new DataAccessGateway();
            this.isPagato = s.IsCheckedOut;
            newPagamento = false;

            if (!isPagato)
            {
                //se non è pagato allora abilito solo i due pulsanti di scelta: nuovo pagamento e pag.esistente
                gridDatiPag.IsEnabled = false;
                gridDatiPag.Opacity = 0.50;
                btnDissocia.IsEnabled = false;
                btnSalva.IsEnabled = false;
                
            }
            else
            {
                //se è già pagato, carico i dati del rispettivo pagamento, senza permettere di crearne uno nuovo o selezionarne un altro
                btnNewPagamento.IsEnabled = false;
                btnPagamEsist.IsEnabled = false;

                //vai a pescare i dati del pagamento nel db
                pag = dag.cercaPagamentoById(sog.IdPagamento);
                if (pag.IsFattura)
                {
                    radioButtonFatt.IsChecked = true;
                    txtLastFattura.FontWeight = FontWeights.Bold;
                }
                else
                {
                    radioButtonRicFisc.IsChecked = true;
                    txtLastRicFisc.FontWeight = FontWeights.Bold;
                }

                txtboxNum.Text = pag.Numero.ToString();
                datePickerData.SelectedDate = pag.Data;
                txtboxDest.Text = pag.Destinatario;
                txtboxSede.Text = pag.Sede;
                txtboxPiva.Text = pag.Piva;
                txtboxCf.Text = pag.Cf;
                txtboxNote.Text = pag.ModoPagamento;
            }
        }
        public AddEditPagamentoWindow(Pagamento p) : this()
        {
            isNewPagamento = false;
            this.Title = "Modifica pagamento";
            pag = p;

            datePickerData.SelectedDate = pag.Data;
            txtboxDest.Text = pag.Destinatario;
            if (pag.IsFattura)
            {
                radioButtonFatt.IsChecked = true;
                txtLastFattura.FontWeight = FontWeights.Bold;
                txtLastRicFisc.FontWeight = FontWeights.Normal;
            }
            else
            {
                radioButtonRicFisc.IsChecked = true;
                txtLastRicFisc.FontWeight = FontWeights.Bold;
                txtLastFattura.FontWeight = FontWeights.Normal;
            }

            //impostazione del numero dopo quella del radio button
            txtboxNum.Text = pag.Numero.ToString();
            txtboxSede.Text = pag.Sede;
            txtboxPiva.Text = pag.Piva;
            txtboxCf.Text = pag.Cf;
            txtboxNote.Text = pag.ModoPagamento;
            setImportoTotaleEImponibile(pag.Totale);

            //carico le altre attività
            var alist = dag.cercaAttivitaByPagamento(pag.Id);
            attivita = new ObservableCollection<AltraAttivita>(alist);
            viewAtt = new ListCollectionView(attivita);
            dataGridAtt.DataContext = viewAtt;

            //carico i soggiorni associati
            var slist = dag.cercaSoggiorniByPagamento(pag.Id);
            soggiorni = new ObservableCollection<Soggiorno>(slist);
            viewSogg = new ListCollectionView(soggiorni);
            dataGridSoggiorni.DataContext = viewSogg;

            
            //riabilito il bottone elimina
            btnElimina.Visibility = System.Windows.Visibility.Visible;
        }
        private void btnSeleziona_Click(object sender, RoutedEventArgs e)
        {
            //caso 0 risultati
            if (dataGridPagamenti.Items.Count == 0)
            {
                MessageBox.Show("E' necessario avere almeno un risultato per selezionare un pagamento", "Nessun risultato di ricerca", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            //caso nessuna riga selezionata
            if (dataGridPagamenti.SelectedItems.Count == 0)
            {
                MessageBox.Show("E' necessario selezionare un pagamento dalla griglia", "Nessuna selezione", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            pagSelezionato = (Pagamento)dataGridPagamenti.SelectedItems[0];
            this.DialogResult = true;
        }
        public AddEditPagamentoWindow()
        {
            InitializeComponent();

            dag = new DataAccessGateway();
            pag = new Pagamento();

            isNewPagamento = true;

            //fare query per numero nuova fattura e ricevuta fiscale
            var today = DateTime.Today;
            maxFattura = dag.getMaxNumPagamento(true, today);
            maxRicFiscale = dag.getMaxNumPagamento(false, today);
            if (maxFattura == 0) txtLastFattura.Text = "- Non ci sono fatture nel " + today.Year;
            else txtLastFattura.Text = "- Ultima fattura " + today.Year.ToString() + " = " + maxFattura;
            if (maxRicFiscale == 0) txtLastRicFisc.Text = "- Non ci sono ricevute fiscali " + today.Year;
            else txtLastRicFisc.Text = "- Ultima ricevuta fiscale " + today.Year.ToString() + " = " + maxRicFiscale;
            txtLastFattura.FontWeight = FontWeights.Bold;

            datePickerData.SelectedDate = DateTime.Today;
            //di default è selezionata la fattura
            txtboxNum.Text = (maxFattura + 1).ToString();
            string zeroEuro = (0).ToString("C");
            txtImportoTotale.Text = zeroEuro;
            txtImpImponibile.Text = zeroEuro;
            txtImpIva.Text = zeroEuro;

            attivita = new ObservableCollection<AltraAttivita>();
            viewAtt = new ListCollectionView(attivita);
            dataGridAtt.DataContext = viewAtt;
            soggiorni = new ObservableCollection<Soggiorno>();
            viewSogg = new ListCollectionView(soggiorni);
            dataGridSoggiorni.DataContext = viewSogg;

            //se è un nuovo pagamento non ho nulla da eliminare
            btnElimina.Visibility = System.Windows.Visibility.Hidden;
        }
        private void btnNewPagamento_Click(object sender, RoutedEventArgs e)
        {
            newPagamento = true;
            pag = new Pagamento();
            gridDatiPag.IsEnabled = true;
            gridDatiPag.Opacity = 1;
            btnSalva.IsEnabled = true;
            datePickerData.SelectedDate = DateTime.Today;
            btnPagamEsist.IsEnabled = false;
            //non abilito il pulsante dissocia perchè se è un nuovo pagamento non c'è nulla da dissociare se non salvo

            //fare query per numero nuova fattura e ricevuta fiscale
            var today = DateTime.Today;
            maxFattura = dag.getMaxNumPagamento(true, today);
            maxRicFiscale = dag.getMaxNumPagamento(false, today);
            if (maxFattura == 0) txtLastFattura.Text = "- Non ci sono fatture nel " + today.Year;
            else txtLastFattura.Text = "- Ultima fattura " + today.Year.ToString() + " = " + maxFattura;
            if (maxRicFiscale== 0) txtLastRicFisc.Text = "- Non ci sono ricevute fiscali nel " + today.Year;
            else txtLastRicFisc.Text = "- Ultima ricevuta fiscale " + today.Year.ToString() + " = " + maxRicFiscale;

            radioButtonFatt.IsChecked = true;
            txtLastFattura.FontWeight = FontWeights.Bold;

            //modificare txtboxNum: default è fattura
            txtboxNum.Text = (maxFattura + 1).ToString();

            //carico i dati del cliente che ho a disposizione
            Cliente c = dag.cercaCliente(sog.Cliente.Id);
            string destinatario = c.Cognome;
            if (c.Nome != null) destinatario = destinatario + " " + c.Nome;
            txtboxDest.Text = destinatario;
            string indirizzo = "";
            if (c.Indirizzo != null)
            {
                indirizzo = c.Indirizzo;
                if (c.ComuneResidenza != null)
                    indirizzo += ", " + c.ComuneResidenza.Nome + "(" + c.ComuneResidenza.Provincia + ")";
            }
            txtboxSede.Text = indirizzo;
        }
        private void btnPagamEsist_Click(object sender, RoutedEventArgs e)
        {
            supw = new SelezionaUnPagamentoWindow();
            supw.ShowDialog();

            if (supw.DialogResult.HasValue && supw.DialogResult.Value)
            {
                //riempio i campi con i dati del pagamento
                pag = supw.pagSelezionato;

                if (pag.IsFattura) radioButtonFatt.IsChecked = true;
                else radioButtonRicFisc.IsChecked = true;
                txtboxNum.Text = pag.Numero.ToString();
                datePickerData.SelectedDate = pag.Data;
                txtboxDest.Text = pag.Destinatario;
                txtboxSede.Text = pag.Sede;
                txtboxPiva.Text = pag.Piva;
                txtboxCf.Text = pag.Cf;
                txtboxNote.Text = pag.ModoPagamento;

                //disabilito nuovo pagamento e riabilito gli altri pulsanti
                btnNewPagamento.IsEnabled = false;
                btnPagamEsist.IsEnabled = false;
                btnDissocia.IsEnabled = true;
                btnSalva.IsEnabled = true;
                gridDatiPag.IsEnabled = true;
                gridDatiPag.Opacity = 1;
            }
        }
Exemplo n.º 8
0
        internal List<Pagamento> cercaPagamentiByData(DateTime from, DateTime to)
        {
            OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.SoggiorniDbConnectionString);
            string queryString = "SELECT * FROM QueryPagamentiByData";

            OleDbCommand cmd = new OleDbCommand(queryString, conn);
            cmd.Parameters.Add("DataDa", OleDbType.Date).Value = from;
            cmd.Parameters.Add("DataA", OleDbType.Date).Value = to;

            conn.Open();
            OleDbDataReader reader = cmd.ExecuteReader();
            var plist = new List<Pagamento>();
            while (reader.Read())
            {

                //ID, IsFattura, Data, Numero, Destinatario, Totale, ModoPagamento, Sede, Piva, CF
                var p = new Pagamento();
                p.Id = int.Parse(reader[0].ToString());
                p.IsFattura = bool.Parse(reader[1].ToString());
                p.Data = reader[2].ToString() == "" ? DateTime.MinValue : DateTime.Parse(reader[2].ToString());
                p.Numero = int.Parse(reader[3].ToString());
                p.Destinatario = reader[4].ToString();
                p.Totale = reader[5].ToString() == "" ? 0 : decimal.Parse(reader[5].ToString());
                p.ModoPagamento = reader[6].ToString();
                p.Sede = reader[7].ToString();
                p.Piva = reader[8].ToString();
                p.Cf = reader[9].ToString();
                plist.Add(p);
            }
            reader.Close();
            conn.Close();
            return plist;
        }
Exemplo n.º 9
0
 internal void aggiornaPagamento(Pagamento pag)
 {
     var pagta = new PagamentoTableAdapter();
     pagta.UpdateById(pag.IsFattura, pag.Numero, pag.Data, pag.Totale, pag.Imponibile, pag.ModoPagamento,
         pag.Destinatario, pag.Sede, pag.Piva, pag.Cf, pag.Id);
 }
Exemplo n.º 10
0
        internal int inserisciPagamento(Pagamento pag)
        {
            OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.SoggiorniDbConnectionString);
            OleDbCommand cmd;
            string queryString;

            conn.Open();

            queryString = "INSERT INTO Pagamento (IsFattura, Numero, Data, Totale, ModoPagamento, Destinatario, Sede, Piva, CF) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
            cmd = new OleDbCommand(queryString, conn);
            cmd.Parameters.Add("IsFattura", OleDbType.Boolean).Value = pag.IsFattura;
            cmd.Parameters.Add("Numero", OleDbType.Integer).Value = pag.Numero;
            cmd.Parameters.Add("Data", OleDbType.Date).Value = pag.Data;
            cmd.Parameters.Add("Totale", OleDbType.Single).Value = pag.Totale;
            cmd.Parameters.Add("ModoPagamento", OleDbType.Char, 255).Value = pag.ModoPagamento;
            cmd.Parameters.Add("Destinatario", OleDbType.Char, 255).Value = pag.Destinatario;
            cmd.Parameters.Add("Sede", OleDbType.Char, 255).Value = pag.Sede;
            cmd.Parameters.Add("Piva", OleDbType.Char, 11).Value = pag.Piva;
            cmd.Parameters.Add("CF", OleDbType.Char, 16).Value = pag.Cf;

            cmd.ExecuteNonQuery();

            //eseguo la query per ottenere l'id appena inserito
            cmd = new OleDbCommand("SELECT @@IDENTITY", conn);
            int id = (int)cmd.ExecuteScalar();
            conn.Close();
            return id;
        }
Exemplo n.º 11
0
 internal Pagamento cercaPagamentoById(int id)
 {
     var pagta = new PagamentoTableAdapter();
     var pagdt = pagta.GetDataById(id);
     var p = new Pagamento
     {
         Id = pagdt[0].ID,
         Data = pagdt[0].Data,
         IsFattura = pagdt[0].IsFattura,
         Numero = pagdt[0].Numero,
         Totale = pagdt[0].Totale,
         Imponibile = pagdt[0].IsImponibileNull() ? 0 : pagdt[0].Imponibile,
         ModoPagamento = pagdt[0].ModoPagamento,
         Destinatario = pagdt[0].Destinatario,
         Piva = pagdt[0].Piva,
         Cf = pagdt[0].CF,
         Sede = pagdt[0].Sede
     };
     return p;
 }