// Selection d'un RDV private void ListRdvDataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (listRdvDataGrid.SelectedItem == null) { return; } appointment = listRdvDataGrid.SelectedItem as appointements; rdvCustomers.SelectedValue = appointment.idCustomer; rdvBrokers.SelectedValue = appointment.idBroker; rdvDate.Text = appointment.dateHour.ToShortDateString(); string dateTime = appointment.dateHour.ToShortTimeString(); string hour = dateTime.Substring(0, dateTime.Length - 3); rdvHours.Text = hour; string min = dateTime.Substring(3); rdvMinutes.Text = min; EditRdv.Visibility = Visibility.Visible; }
// Enregistrer private void Save_Click(object sender, RoutedEventArgs e) { // Vider les champs d'erreurs ErrorCustomer.Text = ""; ErrorBroker.Text = ""; ErrorDate.Text = ""; ErrorTime.Text = ""; appointements rdvToAdd = new appointements(); // booleen pour vérification bool isValid = true; // Vérification comboboxes if (rdvCustomers.SelectedValue == null) { ErrorCustomer.Text = "Sélectionnez un Client"; isValid = false; } if (rdvBrokers.SelectedValue == null) { ErrorBroker.Text = "Sélectionnez un Courtier"; isValid = false; } // Enregistrement du client et du courtier concerné par le RDV rdvToAdd.idCustomer = Convert.ToInt32(rdvCustomers.SelectedValue); rdvToAdd.idBroker = Convert.ToInt32(rdvBrokers.SelectedValue); // Vérification Date if (String.IsNullOrEmpty(rdvDate.Text)) { ErrorDate.Text = "Date manquante"; isValid = false; } // Verification Heures et minutes if ((!String.IsNullOrEmpty(rdvHours.Text)) && (!String.IsNullOrEmpty(rdvMinutes.Text))) { // Vérif heures if (!Regex.IsMatch(rdvHours.Text, regexTime)) { ErrorTime.Text = "Ecrire une heure valide"; isValid = false; } // Vérif minutes else if (!Regex.IsMatch(rdvMinutes.Text, regexTime)) { ErrorTime.Text = "Ecrire des minutes valides"; isValid = false; } // Vérif OK else { time = rdvHours.Text + ":" + rdvMinutes.Text; } } else { ErrorTime.Text = "Horaire non valide"; isValid = false; } //// Autre methode à mettre avec vérification null ou vide //if (!String.IsNullOrEmpty(rdvHours.Text)) //{ // if (int.TryParse(rdvHours.Text, out int resultHour)) // { // if ( resultHour < 8 || resultHour > 20) // ErrorTime.Text = "Heure non valide"; // isValid = false; // } // else // { // ErrorTime.Text = "Entrer une heure"; // isValid = false; // } //} //else //{ // ErrorTime.Text = "Saisissez une heure"; // isValid = false; //} // Faire en sorte qu'un courtier n'ai pas 2 rendez-vous en même temps (même jour et même heure) var brokerAlreadyUsed = db.appointements.Where(rdv => rdv.idBroker == rdvToAdd.idBroker && rdv.dateHour == rdvToAdd.dateHour).SingleOrDefault(); if (brokerAlreadyUsed != null) { ErrorCustomer.Text = "Un RDV existe déja avec ce Courtier à cette plage horaire"; isValid = false; } var customerAlreadyUsed = db.appointements.Where(rdv => rdv.idCustomer == rdvToAdd.idCustomer && rdv.dateHour == rdvToAdd.dateHour).SingleOrDefault(); if (customerAlreadyUsed != null) { ErrorBroker.Text = "Un RDV existe déja avec ce Client à cette plage horaire"; isValid = false; } if (isValid == true) { dateTime = rdvDate.Text + " " + time; rdvToAdd.dateHour = Convert.ToDateTime(dateTime); db.appointements.Add(rdvToAdd); db.SaveChanges(); ErrorCustomer.Text = ""; ErrorBroker.Text = ""; ErrorDate.Text = ""; ErrorTime.Text = ""; MessageBox.Show("Rendez-vous ajouté avec succès", "Succès", MessageBoxButton.OK, MessageBoxImage.Information); NavigationService.Navigate(new System.Uri("appointmentsList.xaml", UriKind.RelativeOrAbsolute)); } }
public appointmentsList() { InitializeComponent(); appointment = new appointements(); }