public double MezzoInUscita(Sosta s, double prezzo_ora) { double prezzo = 0; double tempo_sosta = 0; s.DataOraUscita = DateTime.Now; TimeSpan tm = s.DataOraUscita.Value - s.DataOraAccesso; tempo_sosta = tm.TotalSeconds; prezzo = tempo_sosta * prezzo_ora; prezzo = Math.Round(prezzo, 2); return(prezzo); }
public void btnUscitaVeicolo_Click(object sender, RoutedEventArgs e) { if (dgVeicoliInSosta.Items.Count > 0) { Sosta fine_sosta = (Sosta)dgVeicoliInSosta.SelectedItem; //Selezione dell'elemento corrispondente alla riga del DataGrid if (fine_sosta.TipoVeicolo == "MOTOCICLO") { costo = park.MezzoInUscita(fine_sosta, prezzo_moto_ora); } else { costo = park.MezzoInUscita(fine_sosta, prezzo_auto_ora); } grdManage.Visibility = Visibility.Hidden; grdInfoOut.Visibility = Visibility.Visible; //Compilazione campi grid INFO_OUT tbTargaOut.Text = fine_sosta.TargaVeicolo; tbOraIn.Text = fine_sosta.DataOraAccesso.ToString(); tbOraOut.Text = fine_sosta.DataOraUscita.ToString(); tbImportoOut.Text = costo.ToString(); totIncasso += costo; // L'importo calcolato nel metodo MezzoInUscita viene aggiunto alla variabile contatore incasso... lblTotIncasso.Content = "€ " + totIncasso; //...e relativo aggiornamento lbl dgVeicoliInSosta.Items.Refresh(); //Aggiorno vista DataGrid park.VeicoliInSosta.Remove(fine_sosta); //L'oggetto viene rimosso dalla lista VeicoliInSosta... park.ArchivioVeicoli.Add(fine_sosta); //...e aggiunto alla lista ArchivioVeicoli CalcoloStatoParcheggioAuto(); CalcoloStatoParcheggioMoto(); //sezione AGGIORNAMENTO CONTATORI (richiamo ai relativi metodi) lblContatoreMoto.Content = park.CalcoloPostiMotoOccupati(park.VeicoliInSosta).ToString(); lblContatoreAuto.Content = park.CalcoloPostiAutoOccupati(park.VeicoliInSosta).ToString(); lblContatoreTot.Content = park.VeicoliInSosta.Count(); //Aggiorno contatore tot VisualizzaTempiMediSosta(); //sezione SALVATAGGI SalvaArchivioPark(park.ArchivioVeicoli); //Salvataggio archivio old su file .dat SalvaDatiParcheggio(park.VeicoliInSosta); //Salvataggio archivio now su file .dat } else { MessageBox.Show("NESSUN VEICOLO IN SOSTA!", "Impossibile eseguire il comando", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void MezzoInArrivo(Veicolo ve) { Sosta s = new Sosta(ve); VeicoliInSosta.Add(s); }